:root {
  --aa-black: #1C1514;
  --aa-ink: #DBCECA;
  --aa-white: #1C1514;
  --aa-paper: #261b19;
  --aa-paper-strong: #542B22;
  --aa-gold: #D7C6B5;
  --aa-gold-deep: #8F3226;
  --aa-gold-soft: rgba(143, 50, 38, .22);
  --aa-line: rgba(215, 198, 181, .18);
  --aa-shadow: 0 24px 80px rgba(0, 0, 0, .38);
  --aa-anchor-offset: 6.5rem;
  --bs-body-font-family: "IBM Plex Sans", "Helvetica Neue", sans-serif;
  --aa-brand-font: "Literata", Georgia, serif;
  --bs-body-bg: var(--aa-white);
  --bs-body-color: var(--aa-ink);
  --bs-primary: var(--aa-gold);
  --bs-primary-rgb: 215, 198, 181;
  --bs-link-color: var(--aa-gold);
  --bs-link-hover-color: var(--aa-gold);
  --bs-border-radius: 1.25rem;
  --bs-border-radius-sm: .95rem;
  --bs-border-radius-lg: 1.75rem;
  --bs-border-radius-xl: 2.25rem;
  --bs-border-color: var(--aa-line);
}

[data-bs-theme=dark] {
  --aa-black: #1C1514;
  --aa-ink: #DBCECA;
  --aa-white: #1C1514;
  --aa-paper: #261b19;
  --aa-paper-strong: #542B22;
  --aa-gold: #D7C6B5;
  --aa-gold-deep: #CCB0AA;
  --aa-gold-soft: rgba(143, 50, 38, .22);
  --aa-line: rgba(215, 198, 181, .18);
  --aa-shadow: 0 24px 80px rgba(0, 0, 0, .38);
  --bs-body-bg: var(--aa-white);
  --bs-body-color: var(--aa-ink);
  --bs-link-color: var(--aa-gold);
  --bs-link-hover-color: #CCB0AA;
  --bs-border-color: var(--aa-line);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--aa-anchor-offset);
  overflow-x: clip;
}

body {
  min-width: 320px;
  overflow-x: clip;
  background: radial-gradient(circle at 12% 8%, var(--aa-gold-soft), transparent 34rem), linear-gradient(180deg, var(--aa-white) 0%, var(--aa-paper) 100%);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}
.container-xxl {
  --bs-gutter-x: clamp(2.5rem, 6vw, 7rem);
  max-width: 96rem;
}

.site-main [id] {
  scroll-margin-top: var(--aa-anchor-offset);
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand {
  letter-spacing: -0.025em;
}

.fw-bold {
  font-weight: 600 !important;
}

.site-header {
  border-bottom: 1px solid var(--aa-line);
  background: color-mix(in srgb, var(--aa-white) 88%, transparent);
  backdrop-filter: blur(18px);
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.site-header .navbar {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
  transition: padding 0.25s ease;
}

.site-header--compact {
  box-shadow: 0 16px 46px rgba(0, 0, 0, 0.14);
}

.site-header--compact .navbar {
  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
}

.navbar-toggler {
  border-radius: 999px;
  border-color: var(--aa-line);
  padding: 0.7rem 0.85rem;
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.95rem;
  color: var(--aa-ink);
  text-decoration: none;
  transition: gap 0.25s ease;
}

.brand-mark:hover {
  color: var(--aa-ink);
}

.brand-mark__sign {
  display: inline-grid;
  width: 4.35rem;
  height: 4.35rem;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--aa-gold-deep) 58%, transparent);
  border-radius: 1.3rem;
  background: linear-gradient(145deg, #d2a94d, var(--aa-gold));
  box-shadow: 0 18px 42px rgba(184, 138, 42, 0.22);
  transition: width 0.25s ease, height 0.25s ease, border-radius 0.25s ease, box-shadow 0.25s ease;
}

.brand-mark__sign img {
  display: block;
  width: 3.2rem;
  height: auto;
  transition: width 0.25s ease;
}

.brand-mark__text {
  display: flex;
  flex-direction: column;
  line-height: 1.08;
  transition: line-height 0.25s ease;
}

.brand-mark__text span {
  font-family: var(--aa-brand-font);
  font-size: 1.32rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  transition: font-size 0.25s ease;
}

.brand-mark__text small {
  color: color-mix(in srgb, var(--aa-ink) 62%, transparent);
  font-family: var(--aa-brand-font);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  transition: font-size 0.25s ease;
}

.site-header--compact .brand-mark {
  gap: 0.78rem;
}

.site-header--compact .brand-mark__sign {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 1rem;
  box-shadow: 0 12px 28px rgba(184, 138, 42, 0.16);
}

.site-header--compact .brand-mark__sign img {
  width: 2.3rem;
}

.site-header--compact .brand-mark__text span {
  font-size: 1.08rem;
}

.site-header--compact .brand-mark__text small {
  font-size: 0.6rem;
}

.nav-link {
  border-radius: 999px;
  color: color-mix(in srgb, var(--aa-ink) 72%, transparent);
  font-weight: 600;
  padding: 0.65rem 1rem !important;
}

.nav-link:hover,
.nav-link.active {
  background: var(--aa-gold-soft);
  color: var(--aa-ink);
}

.header-actions .btn {
  white-space: nowrap;
}

.btn {
  --bs-btn-border-radius: 999px;
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: .72rem;
  font-weight: 600;
}

.btn-lg {
  --bs-btn-padding-x: 1.55rem;
  --bs-btn-padding-y: .95rem;
}

.btn-aa-gold {
  --bs-btn-bg: var(--aa-gold);
  --bs-btn-border-color: var(--aa-gold);
  --bs-btn-color: #0c0b09;
  --bs-btn-hover-bg: var(--aa-gold-deep);
  --bs-btn-hover-border-color: var(--aa-gold-deep);
  --bs-btn-hover-color: #0c0b09;
  --bs-btn-active-bg: var(--aa-gold-deep);
  --bs-btn-active-border-color: var(--aa-gold-deep);
  box-shadow: 0 18px 42px rgba(184, 138, 42, 0.18);
}

.btn-aa-outline,
.btn-aa-ghost {
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--aa-line);
  --bs-btn-color: var(--aa-ink);
  --bs-btn-hover-bg: var(--aa-ink);
  --bs-btn-hover-border-color: var(--aa-ink);
  --bs-btn-hover-color: var(--aa-white);
}

.theme-switcher {
  display: inline-flex;
  gap: 0.2rem;
  align-items: center;
  padding: 0.2rem;
  border: 1px solid var(--aa-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--aa-white) 74%, transparent);
}

.theme-switcher__button {
  display: inline-grid;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: color-mix(in srgb, var(--aa-ink) 68%, transparent);
  cursor: pointer;
  padding: 0;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.theme-switcher__button:hover,
.theme-switcher__button.active {
  background: var(--aa-gold);
  color: #0c0b09;
}

.theme-switcher__button:hover {
  transform: translateY(-1px);
}

.theme-switcher__button:focus-visible {
  outline: 2px solid var(--aa-gold);
  outline-offset: 2px;
}

.theme-switcher__button svg {
  width: 1.12rem;
  height: 1.12rem;
  fill: currentColor;
}

.section-pad {
  padding: clamp(4rem, 7vw, 7.5rem) 0;
}

.page-hero {
  background: radial-gradient(circle at 90% 20%, var(--aa-gold-soft), transparent 30rem), var(--aa-paper);
  border-bottom: 1px solid var(--aa-line);
}

.page-hero .display-3 {
  margin-bottom: clamp(1.35rem, 2.2vw, 2rem);
}

.page-hero .lead {
  margin-bottom: 0;
}

.competency-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.competency-pill {
  padding: 1rem 1.2rem;
  border: 1px solid var(--aa-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--aa-white) 82%, transparent);
  font-weight: 600;
}

.process-list {
  counter-reset: process;
}

.process-list li {
  display: grid;
  gap: 1rem;
  grid-template-columns: 4rem 1fr;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--aa-line);
}

.process-list li:first-child {
  padding-top: 0;
}

.process-list span {
  color: var(--aa-gold-deep);
  font-size: 1.15rem;
  font-weight: 600;
}

.process-list p {
  margin: 0;
  font-size: 1.18rem;
  font-weight: 600;
}

.cookie-banner {
  position: fixed;
  z-index: 100;
  right: 24px;
  bottom: 24px;
  left: 24px;
  pointer-events: none;
}

.cookie-banner__panel {
  display: grid;
  width: min(720px, 100%);
  min-height: 78px;
  margin-left: auto;
  align-items: center;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 16px 18px;
  border: 2px solid rgba(243, 233, 223, 0.72);
  background: rgba(24, 24, 26, 0.94);
  color: #f3e9df;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.48);
  font-family: "Martian Mono", "IBM Plex Mono", monospace;
  pointer-events: auto;
  backdrop-filter: blur(12px);
}

.cookie-banner__content {
  min-width: 0;
}

.cookie-banner strong {
  display: block;
  margin-bottom: 6px;
  color: #f3e9df;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.1;
}

.cookie-banner p {
  margin: 0;
  color: rgba(243, 233, 223, 0.72);
  font-size: 12px;
  line-height: 1.45;
}

.cookie-banner a {
  color: #f3e9df;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-banner__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 116px;
  min-height: 38px;
  padding: 0 18px;
  border: 2px solid #f3e9df;
  background: transparent;
  color: #f3e9df;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  text-align: center;
}

.cookie-banner__button:hover,
.cookie-banner__button:focus-visible {
  background: #f3e9df;
  color: #18181a;
}

.cookie-banner__button:focus-visible {
  outline: 2px solid #f3e9df;
  outline-offset: 3px;
}

@media (max-width: 575.98px) {
  .cookie-banner {
    right: 16px;
    bottom: 16px;
    left: 16px;
  }
  .cookie-banner__panel {
    display: grid;
    min-height: 0;
    gap: 12px;
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .cookie-banner__button {
    width: 100%;
  }
}
.jl-cart-widget {
  position: fixed;
  z-index: 98;
  right: 24px;
  bottom: 24px;
  display: grid;
  width: 66px;
  height: 66px;
  place-items: center;
  border: 2px solid rgba(243, 233, 223, 0.62);
  background: rgba(34, 29, 27, 0.92);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
  color: var(--jl-light);
  text-decoration: none;
  backdrop-filter: blur(10px);
  transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.jl-cart-widget[hidden] {
  display: none;
}

.jl-cart-widget:hover,
.jl-cart-widget:focus-visible {
  border-color: rgba(243, 233, 223, 0.94);
  transform: translateY(-2px);
}

.jl-cart-widget img {
  width: 36px;
  height: auto;
  filter: brightness(1.08);
}

.jl-cart-widget span {
  position: absolute;
  top: -9px;
  right: -9px;
  display: grid;
  min-width: 27px;
  height: 27px;
  place-items: center;
  padding: 0 6px;
  border: 2px solid #221d1b;
  border-radius: 999px;
  background: #c64251;
  color: #fff;
  font-family: var(--jl-mono);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.jl-cart-widget.is-updated {
  animation: jl-cart-widget-pulse 0.38s ease;
}

@keyframes jl-cart-widget-pulse {
  0% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
@media (max-width: 575.98px) {
  .jl-cart-widget {
    right: 16px;
    bottom: 16px;
    width: 58px;
    height: 58px;
  }
  .jl-cart-widget img {
    width: 31px;
  }
}
.homepage-redesign {
  --jl-mono: "Martian Mono", "IBM Plex Mono", monospace;
  --jl-serif: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --jl-bg: #18181a;
  --jl-panel: #221d1b;
  --jl-light: #f3e9df;
  --jl-muted: rgba(243, 233, 223, .78);
  background: var(--jl-bg);
}

.homepage-redesign .site-header {
  display: none;
}

.homepage-redesign .site-main {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--jl-bg);
}

.homepage-redesign .site-footer {
  margin-top: 10px;
}

.homepage-redesign button:focus,
.homepage-redesign button:focus-visible,
.homepage-redesign .btn:focus,
.homepage-redesign .btn:focus-visible {
  outline: 0;
  box-shadow: none;
}

.jl-hero {
  position: relative;
  min-height: min(65.55vw, 839px);
  overflow: hidden;
  background: #e7dccd;
  color: var(--jl-bg);
  font-family: var(--jl-mono);
  isolation: isolate;
}

.jl-hero__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.jl-hero__shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.2) 0%, rgba(232, 219, 202, 0) 42%, rgba(32, 23, 20, 0.22) 100%);
  pointer-events: none;
}

.jl-hero__content {
  position: relative;
  display: flex;
  min-height: inherit;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px 32px 40px;
}

.jl-hero__bar {
  display: grid;
  align-items: start;
  gap: 36px;
  grid-template-columns: auto 1fr;
}

.jl-hero__brand {
  display: inline-flex;
  width: 196px;
  height: 176px;
  color: inherit;
  text-decoration: none;
  transition: top 0.26s ease, left 0.26s ease, width 0.26s ease, height 0.26s ease, filter 0.26s ease, opacity 0.2s ease;
}

.jl-hero__brand img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0.2rem 0.1rem rgba(255, 244, 224, 0.28));
}

.jl-hero__nav {
  display: flex;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 45px;
  padding-top: 10px;
}

.jl-hero__nav-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 60px;
  color: #111;
  font-family: var(--jl-mono);
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: lowercase;
  text-shadow: 0 1px 0 rgba(255, 244, 224, 0.46);
  white-space: nowrap;
}

.jl-hero__nav-link:hover,
.jl-hero__nav-link:focus-visible {
  color: #4e1d17;
}

.jl-hero__nav-link:focus-visible,
.jl-hero__brand:focus-visible,
.jl-hero__cta:focus-visible,
.jl-menu__link:focus-visible,
.jl-menu__contacts a:focus-visible {
  outline: 2px solid var(--jl-bg);
  outline-offset: 0.25rem;
}

.jl-hero__home-icon {
  display: block;
  width: 33px;
  height: 32px;
}

.jl-hero__plus {
  display: block;
  flex: 0 0 auto;
  width: 60px;
  height: 60px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: top 0.26s ease, right 0.26s ease, width 0.26s ease, height 0.26s ease, filter 0.26s ease, opacity 0.2s ease;
}

.jl-hero__plus img {
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.24s ease;
}

.jl-hero__plus.is-spinning img {
  animation: jl-plus-spin 3s cubic-bezier(0.2, 0.85, 0.2, 1) forwards;
}

.jl-hero__brand-placeholder,
.jl-hero__plus-placeholder {
  display: block;
  flex: 0 0 auto;
}

.jl-hero-chrome-fixed .jl-hero__brand,
.jl-hero-chrome-fixed .jl-hero__plus {
  position: fixed;
  z-index: 95;
  top: 24px;
  mix-blend-mode: difference;
}

.jl-hero-chrome-fixed .jl-hero {
  z-index: 90;
  overflow: visible;
}

.jl-hero-chrome-fixed .jl-hero__brand {
  left: 32px;
  width: 67px;
  height: 60px;
}

.jl-hero-chrome-fixed .jl-hero__plus {
  right: 32px;
  width: 60px;
  height: 60px;
}

.jl-hero-chrome-fixed .jl-hero__brand img,
.jl-hero-chrome-fixed .jl-hero__plus img {
  filter: invert(1) brightness(2.3) grayscale(1);
}

.jl-menu-open {
  overflow: hidden;
}

.jl-menu-open .jl-hero {
  z-index: auto;
  overflow: hidden;
}

.jl-menu-open .jl-hero__brand.is-chrome-floating {
  opacity: 0;
  pointer-events: none;
}

.jl-menu-open .jl-hero__plus {
  mix-blend-mode: normal;
}

.jl-menu-open .jl-hero__plus img {
  filter: none;
}

.jl-hero__plus.is-menu-floating {
  position: fixed;
  z-index: 140;
  top: var(--jl-menu-plus-top, 24px);
  right: var(--jl-menu-plus-right, 32px);
  width: var(--jl-menu-plus-width, 60px);
  height: var(--jl-menu-plus-height, 60px);
  opacity: 1;
  pointer-events: none;
  mix-blend-mode: normal;
}

.jl-hero__plus.is-menu-floating img {
  filter: none;
}

.jl-edge-peekers {
  pointer-events: none;
}

.jl-edge-peeker {
  position: fixed;
  z-index: 82;
  top: var(--jl-peeker-top, 58vh);
  display: block;
  opacity: 0;
  pointer-events: auto;
  text-decoration: none;
  transition: top 0.72s ease, transform 0.62s cubic-bezier(0.2, 0.85, 0.2, 1), opacity 0.28s ease, filter 0.28s ease;
  transition-delay: var(--jl-peeker-delay, 0ms);
  will-change: transform, opacity, top;
}

.jl-edge-peeker img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
}

.jl-edge-peeker--wolf {
  left: 0;
  width: clamp(82px, 8.8vw, 132px);
  transform: translate3d(-72%, -50%, 0) rotate(-4deg);
  transform-origin: left center;
  filter: brightness(1.08) drop-shadow(8px 10px 16px rgba(0, 0, 0, 0.42));
}

.jl-edge-peeker--stamp {
  right: 0;
  width: clamp(68px, 6.2vw, 96px);
  transform: translate3d(76%, -50%, 0) rotate(7deg);
  transform-origin: right center;
  filter: drop-shadow(-8px 10px 16px rgba(0, 0, 0, 0.34));
}

.jl-edge-peekers-ready .jl-edge-peeker {
  opacity: 0.78;
}

.jl-edge-peekers-scrolling .jl-edge-peeker {
  opacity: 0.94;
}

.jl-edge-peekers-scrolling .jl-edge-peeker--wolf {
  transform: translate3d(-30%, -50%, 0) rotate(-1deg);
}

.jl-edge-peekers-scrolling .jl-edge-peeker--stamp {
  transform: translate3d(38%, -50%, 0) rotate(4deg);
}

.jl-edge-peekers-settling .jl-edge-peeker {
  opacity: 0.84;
}

.jl-edge-peekers-settling .jl-edge-peeker--wolf {
  transform: translate3d(-50%, -50%, 0) rotate(-3deg);
}

.jl-edge-peekers-settling .jl-edge-peeker--stamp {
  transform: translate3d(56%, -50%, 0) rotate(6deg);
}

.jl-edge-peeker:hover,
.jl-edge-peeker:focus-visible {
  opacity: 1;
  outline: 0;
}

.jl-edge-peeker--wolf:hover,
.jl-edge-peeker--wolf:focus-visible {
  transform: translate3d(-25%, -50%, 0) rotate(0deg);
}

.jl-edge-peeker--stamp:hover,
.jl-edge-peeker--stamp:focus-visible {
  transform: translate3d(22%, -50%, 0) rotate(2deg);
}

.jl-menu-open .jl-edge-peeker {
  opacity: 0;
  pointer-events: none;
}

.jl-menu {
  position: fixed;
  z-index: 150;
  inset: 0;
  display: block;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  overscroll-behavior: contain;
  pointer-events: none;
  touch-action: none;
}

.jl-menu[hidden] {
  display: none;
}

.jl-menu__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(24, 24, 26, 0.92);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.22s ease;
}

.jl-menu__panel {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: min(451px, 100vw - 32px);
  max-height: calc(100svh - 32px);
  overflow: auto;
  padding: 77px 43px 34px;
  border: 2px solid rgba(243, 233, 223, 0.78);
  background: var(--jl-bg);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.58);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.82);
  transform-origin: 50% 50%;
  transition: opacity 0.26s ease, transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1);
  overscroll-behavior: contain;
  touch-action: pan-y;
  will-change: transform, opacity;
  -webkit-overflow-scrolling: touch;
}

.jl-menu__panel::before {
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(243, 233, 223, 0.28);
  pointer-events: none;
  content: "";
}

.jl-menu.is-open {
  pointer-events: auto;
}

.jl-menu.is-open .jl-menu__backdrop {
  opacity: 1;
}

.jl-menu.is-open .jl-menu__panel {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition-delay: 0.12s;
}

.jl-menu__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
  width: 50px;
  height: 50px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.jl-menu__close img {
  display: block;
  width: 100%;
  height: 100%;
  filter: invert(94%) sepia(7%) saturate(614%) hue-rotate(332deg) brightness(105%) contrast(91%);
  transform: rotate(45deg);
}

.jl-menu__nav {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 6px;
  margin-top: 0;
}

.jl-menu__link {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 5px 14px 7px;
  color: var(--jl-light);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.05;
  text-align: center;
  text-decoration: none;
}

.jl-menu__link:hover,
.jl-menu__link:focus-visible {
  color: var(--jl-light);
  text-decoration: underline;
  text-underline-offset: 6px;
}

.jl-menu__link.is-current {
  font-weight: 600;
  text-decoration: none;
}

.jl-menu__link.is-current::after {
  position: absolute;
  right: 14px;
  bottom: 3px;
  left: 14px;
  height: 2px;
  background: #c64251;
  content: "";
}

.jl-menu__contacts {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 24px;
  margin-top: 29px;
  text-align: center;
}

.jl-menu__phone,
.jl-menu__email,
.jl-menu__route {
  color: var(--jl-light);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.1;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.jl-menu__socials {
  position: absolute;
  z-index: 1;
  top: 15px;
  left: 15px;
  display: flex;
  gap: 11px;
  align-items: center;
  justify-content: center;
}

.jl-menu__socials .jl-social {
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  border: 1px solid var(--jl-light);
  background: var(--jl-light);
}

.jl-menu__socials .jl-social::before {
  width: 25px;
  height: 25px;
}

.jl-menu__address {
  margin: 12px 0 0;
  color: var(--jl-light);
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.24;
  text-align: center;
}

.jl-menu__route {
  justify-self: center;
  font-size: 18px;
}

.jl-menu__close:focus-visible,
.jl-menu__link:focus-visible,
.jl-menu__contacts a:focus-visible {
  outline-color: var(--jl-light);
}

@keyframes jl-plus-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(1125deg);
  }
}
.jl-hero__cta {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 360px;
  height: 85px;
  padding: 0;
  border: 0;
  background: #c64251;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 40px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  text-shadow: 0 2px 0 rgba(20, 0, 0, 0.34);
  white-space: nowrap;
}

.jl-hero__cta:hover,
.jl-hero__cta:focus-visible {
  background: #a92f3d;
  color: var(--jl-light);
}

@media (max-width: 1320px) {
  .jl-hero__nav {
    gap: 28px;
  }
  .jl-hero__nav-link {
    font-size: 24px;
  }
}
@media (max-width: 1279.98px) {
  .jl-hero__content {
    padding: clamp(0.8rem, 1.9vw, 1.5rem) clamp(1rem, 2.5vw, 2rem) clamp(2rem, 3.15vw, 2.5rem);
  }
  .jl-hero__brand {
    width: clamp(7.45rem, 15.3vw, 12.25rem);
    height: auto;
  }
  .jl-hero__nav {
    gap: clamp(1.35rem, 2.35vw, 1.9rem);
    padding-top: clamp(0.25rem, 0.8vw, 0.6rem);
  }
  .jl-hero__nav-link {
    min-height: 52px;
    font-size: 22px;
  }
  .jl-hero__home-icon {
    width: 30px;
    height: 29px;
  }
  .jl-hero__plus {
    width: 54px;
    height: 54px;
  }
  .jl-hero__cta {
    width: clamp(300px, 28.13vw, 360px);
    height: clamp(72px, 6.64vw, 85px);
    font-size: 40px;
  }
}
@media (max-width: 1119.98px) {
  .jl-hero__nav-link:nth-of-type(6) {
    display: none;
  }
}
@media (max-width: 979.98px) {
  .jl-hero__nav-link:nth-of-type(4) {
    display: none;
  }
}
@media (max-width: 819.98px) {
  .jl-hero__nav-link {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .jl-hero {
    min-height: min(65.6vw, 34.25rem);
  }
  .jl-hero__content {
    padding: 0.55rem 0.75rem 1.75rem;
  }
  .jl-hero__bar {
    gap: 1rem;
    grid-template-columns: auto 1fr;
  }
  .jl-hero__brand {
    width: 5.9rem;
    height: auto;
  }
  .jl-hero__nav {
    gap: clamp(0.75rem, 2.1vw, 1.1rem);
    padding-top: 0.25rem;
  }
  .jl-hero__nav-link {
    min-height: 52px;
    font-size: 22px;
  }
  .jl-hero__plus {
    width: 3.1rem;
    height: 3.1rem;
  }
  .jl-hero__cta {
    width: clamp(250px, 33vw, 300px);
    height: clamp(64px, 8.65vw, 72px);
    padding: 0;
    font-size: 28px;
  }
}
@media (max-width: 575.98px) {
  .jl-hero {
    min-height: clamp(28rem, 118vw, 35rem);
  }
  .jl-hero__image {
    object-position: center top;
  }
  .jl-hero__shade {
    background: linear-gradient(180deg, rgba(232, 219, 202, 0.28) 0%, rgba(232, 219, 202, 0) 44%, rgba(32, 23, 20, 0.32) 100%);
  }
  .jl-hero__content {
    padding: 0.85rem 1rem 1.8rem;
  }
  .jl-hero__bar {
    grid-template-columns: auto 1fr;
  }
  .jl-hero__brand {
    width: 7.45rem;
    height: auto;
  }
  .about-redesign .jl-hero__brand,
  .services-redesign .jl-hero__brand,
  .projects-redesign .jl-hero__brand,
  .accessories-redesign .jl-hero__brand,
  .product-redesign .jl-hero__brand,
  .recipes-redesign .jl-hero__brand,
  .reviews-redesign .jl-hero__brand,
  .contacts-redesign .jl-hero__brand {
    width: 6.33rem;
  }
  .jl-hero__nav {
    gap: 0;
    padding-top: 0.1rem;
  }
  .jl-hero__nav-link {
    display: none;
  }
  .jl-hero__plus {
    width: 3.45rem;
    height: 3.45rem;
  }
  .jl-menu__panel {
    top: 50%;
    left: 50%;
    width: min(332px, 100vw);
    max-height: calc(100svh - 16px);
    padding: 58px 34px 24px;
    transform: translate(-50%, -50%) scale(0.82);
  }
  .jl-menu.is-open .jl-menu__panel {
    transform: translate(-50%, -50%) scale(1);
  }
  .jl-menu__close {
    top: 10px;
    right: 10px;
    width: 38px;
    height: 38px;
  }
  .jl-menu__nav {
    gap: 4px;
    margin-top: 5px;
  }
  .jl-menu__link {
    min-height: 42px;
    padding: 5px 12px 7px;
    font-size: 20px;
  }
  .jl-menu__link.is-current::after {
    right: 12px;
    bottom: 3px;
    left: 12px;
  }
  .jl-menu__contacts {
    gap: 20px;
    margin-top: 22px;
  }
  .jl-menu__phone,
  .jl-menu__email {
    font-size: 19px;
  }
  .jl-menu__socials {
    top: 15px;
    left: 15px;
    gap: 9px;
  }
  .jl-menu__socials .jl-social {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
  }
  .jl-menu__socials .jl-social::before {
    width: 21px;
    height: 21px;
  }
  .jl-menu__address {
    font-size: 15px;
  }
  .jl-menu__route {
    justify-self: center;
    font-size: 11px;
  }
  .jl-edge-peekers {
    display: none;
  }
  .jl-hero-chrome-fixed .jl-hero__brand,
  .jl-hero-chrome-fixed .jl-hero__plus {
    top: 16px;
  }
  .jl-hero-chrome-fixed .jl-hero__brand {
    left: 16px;
    width: 62px;
    height: 55px;
  }
  .jl-hero-chrome-fixed.about-redesign .jl-hero__brand,
  .jl-hero-chrome-fixed.services-redesign .jl-hero__brand,
  .jl-hero-chrome-fixed.projects-redesign .jl-hero__brand,
  .jl-hero-chrome-fixed.accessories-redesign .jl-hero__brand,
  .jl-hero-chrome-fixed.product-redesign .jl-hero__brand,
  .jl-hero-chrome-fixed.recipes-redesign .jl-hero__brand,
  .jl-hero-chrome-fixed.reviews-redesign .jl-hero__brand,
  .jl-hero-chrome-fixed.contacts-redesign .jl-hero__brand {
    width: 53px;
    height: 47px;
  }
  .jl-hero-chrome-fixed .jl-hero__plus {
    right: 16px;
    width: 55px;
    height: 55px;
  }
  .jl-hero__cta {
    width: 220px;
    height: 56px;
    padding: 0;
    font-size: 22px;
  }
}
.jl-section,
.jl-promo,
.jl-contacts {
  background: var(--jl-bg);
  color: var(--jl-light);
  font-family: var(--jl-mono);
}

.jl-about,
.jl-technology,
.jl-recipes {
  background: var(--jl-bg);
}

.jl-catalog--products,
.jl-catalog--accessories,
.jl-reviews {
  background: var(--jl-panel);
}

.homepage-redesign .site-footer {
  background: var(--jl-panel);
  color: var(--jl-light);
}

.homepage-redesign .footer-panel {
  background: transparent;
  border-color: rgba(243, 233, 223, 0.16);
}

.jl-section,
.jl-contacts {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.jl-catalog--products,
.jl-catalog--accessories,
.jl-reviews {
  max-width: none;
}

.jl-catalog--products > .jl-section__head,
.jl-catalog--products > .jl-slider,
.jl-catalog--accessories > .jl-section__head,
.jl-catalog--accessories > .jl-slider,
.jl-reviews > .jl-section__head,
.jl-reviews > .jl-slider {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.jl-section {
  padding: clamp(2.5rem, 5.2vw, 5rem) clamp(0.75rem, 3.1vw, 2.5rem);
}

.jl-section__head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(3.8rem, 8.1vw, 6.5rem);
  padding: 0 1rem;
}

.jl-section h2 {
  margin: 0;
  color: var(--jl-light);
  font-size: 50px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}

.jl-section h3,
.jl-section p {
  margin-top: 0;
}

.jl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 188px;
  min-width: 188px;
  height: 51px;
  min-height: 51px;
  padding: 0 20px;
  border: 2px solid var(--jl-light);
  color: var(--jl-light);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: lowercase;
}

.jl-btn:hover,
.jl-btn:focus-visible {
  border-color: var(--jl-light);
  color: var(--jl-light);
}

.jl-btn--small {
  width: 132px;
  min-width: 132px;
  height: 34px;
  min-height: 34px;
  padding: 0 12px;
  font-size: 12px;
}

.jl-btn--center {
  display: flex;
  margin: 0 auto;
}

.jl-catalog--products .jl-btn--center {
  width: 285px;
  min-width: 285px;
}

.jl-catalog--accessories .jl-btn--center,
.jl-recipes .jl-btn--center {
  width: auto;
  min-width: auto;
  padding-right: 34px;
  padding-left: 34px;
}

.jl-products-cta__prefix {
  margin-right: 0.35em;
}

.jl-reviews .jl-btn--center {
  width: auto;
  min-width: auto;
  padding-right: 34px;
  padding-left: 34px;
}

.jl-promo {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  background: var(--jl-panel);
}

.jl-promo__video,
.jl-promo img {
  position: relative;
  width: 100%;
  display: block;
  height: 80svh;
  min-height: 520px;
  object-fit: cover;
}

.jl-promo::after {
  display: none;
}

.jl-promo__panel {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  max-width: 1280px;
  min-height: 92px;
  margin-right: auto;
  margin-left: auto;
  align-items: center;
  gap: 18px;
  grid-template-columns: minmax(260px, auto) minmax(0, 1fr) auto;
  padding: 18px 40px;
  background: var(--jl-panel);
}

.jl-promo__panel h2 {
  margin: 0;
  color: var(--jl-light);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.05;
}

.jl-promo__panel p {
  margin: 0;
  color: var(--jl-muted);
  font-size: 14px;
  line-height: 1.35;
}

.jl-about {
  display: flex;
  gap: 35px;
  align-items: center;
  padding: 0;
}

.jl-about__media {
  position: relative;
  flex: 0 0 500px;
  width: 500px;
  height: 500px;
  min-height: 0;
  overflow: hidden;
}

.jl-about__media .swiper-wrapper,
.jl-about__media .swiper-slide {
  height: 100%;
}

.jl-about__media .swiper-slide > img,
.jl-about__media .swiper-slide > a,
.jl-about__media .swiper-slide > a > img,
.jl-technology__intro img,
.jl-technology__gallery .swiper-slide > a,
.jl-technology__gallery .swiper-slide > a > img,
.jl-technology__gallery .swiper-slide > img,
.jl-product-card > a > img:not(.jl-cart),
.jl-recipe-card > a > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jl-lightbox-link {
  display: block;
  color: inherit;
  cursor: zoom-in;
  text-decoration: none;
}

.jl-lightbox-link > img {
  display: block;
}

.jl-about__copy {
  display: grid;
  flex: 1 1 auto;
  gap: 25px;
  align-content: center;
  padding: 0 40px 0 0;
}

.jl-technology__intro h2 {
  margin-bottom: 24px;
  text-align: left;
}

.jl-about__copy p {
  margin: 0;
}

.jl-about__intro {
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 27px;
  line-height: 1.5;
}

.jl-about__title {
  font-family: var(--jl-serif);
  font-size: 36px;
  font-weight: 500;
  line-height: 1.2;
}

.jl-technology__intro p {
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 20px;
  line-height: 1.42;
}

.jl-about__body {
  padding-left: 20px;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 23px;
  line-height: 1.48;
}

.jl-about__copy .jl-btn {
  justify-self: end;
}

.jl-product-grid,
.jl-recipe-grid {
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jl-product-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jl-catalog--products {
  padding: 0 0 31px;
}

.jl-catalog--accessories {
  padding: 0 0 31px;
}

.jl-catalog--products .jl-section__head {
  min-height: 90px;
  padding: 0;
}

.jl-catalog--accessories .jl-section__head {
  min-height: 90px;
  padding: 0;
}

.jl-catalog--products .jl-product-grid {
  gap: 10px;
  width: 100%;
}

.jl-products-slider,
.jl-accessories-slider {
  overflow: hidden;
}

.jl-products-slider .jl-slider-controls {
  display: flex;
  justify-content: center;
  min-height: auto;
  padding: 20px 0 0;
}

.jl-products-slider .jl-slider__arrow {
  display: none;
}

.jl-product-card,
.jl-recipe-card {
  position: relative;
  min-height: clamp(17rem, 29vw, 24rem);
  overflow: hidden;
  background: var(--jl-panel);
}

.jl-catalog--products .jl-product-card {
  aspect-ratio: 1;
  min-height: 0;
}

.jl-catalog--accessories .jl-product-card {
  aspect-ratio: 1;
  min-height: 0;
}

.jl-product-card a,
.jl-recipe-card a {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.jl-product-card::after,
.jl-recipe-card::after {
  position: absolute;
  inset: 50% 0 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, rgba(34, 29, 27, 0), rgba(34, 29, 27, 0.78) 58%, rgba(34, 29, 27, 0.94));
}

.jl-catalog--products .jl-product-card::after {
  content: none;
}

.jl-catalog--accessories .jl-product-card::after {
  content: none;
}

.jl-recipes .jl-recipe-card::after {
  inset: 56% 0 0;
  background: linear-gradient(180deg, rgba(34, 29, 27, 0), rgba(34, 29, 27, 0.68) 58%, rgba(34, 29, 27, 0.92));
}

.jl-recipe-card > a > img {
  filter: brightness(1.23) contrast(1.06) saturate(1.05);
}

.jl-product-card__body,
.jl-recipe-card__body {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(0.75rem, 1.6vw, 1.25rem);
  padding-right: clamp(3.3rem, 5.8vw, 4.8rem);
}

.jl-catalog--products .jl-product-card__body {
  padding: 0 0 6px;
}

.jl-catalog--accessories .jl-product-card__body {
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 113px;
  margin: 0 6px 6px 12px;
  padding: 12px 82px 12px 12px;
  background: rgba(20, 0, 0, 0.8);
}

.jl-catalog--products .jl-product-card h3 {
  margin: 0 12px 7px 6px;
  padding: 7px 12px 8px;
  background: rgba(20, 0, 0, 0.8);
  font-size: 28px;
  line-height: 1.15;
}

.jl-product-card__details {
  display: block;
}

.jl-catalog--products .jl-product-card__details {
  min-height: 113px;
  margin: 0 6px 0 12px;
  padding: 12px 82px 12px 12px;
  background: rgba(20, 0, 0, 0.8);
  font-family: var(--jl-serif);
}

.jl-product-card h3,
.jl-recipe-card h3 {
  margin-bottom: 0.55rem;
  color: var(--jl-light);
  font-size: 1.32rem;
  font-weight: 600;
  line-height: 1.12;
}

.jl-product-card p,
.jl-product-card strong,
.jl-recipe-card span {
  display: block;
  margin: 0;
  color: var(--jl-light);
  font-size: 0.88rem;
  line-height: 1.35;
}

.jl-catalog--products .jl-product-card p {
  font-size: 18px;
  line-height: 1.28;
}

.jl-catalog--accessories .jl-product-card h3 {
  margin: 0 0 8px;
  padding: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1.16;
}

.jl-catalog--products .jl-product-card strong {
  margin-top: 8px;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.15;
}

.jl-catalog--accessories .jl-product-card strong {
  margin-top: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.15;
}

.jl-product-card strong {
  margin-top: 0.4rem;
  color: var(--jl-light);
  font-weight: 600;
}

.jl-product-card__cart {
  position: absolute;
  z-index: 3;
  right: 0.8rem;
  bottom: 0.75rem;
  display: grid;
  width: clamp(2rem, 3.85vw, 3.05rem);
  aspect-ratio: 1;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: filter 0.2s ease, transform 0.2s ease;
}

.jl-product-card__cart img.jl-cart {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.jl-product-card__cart:hover,
.jl-product-card__cart.is-added {
  filter: brightness(1.12);
  transform: scale(1.07);
}

.jl-product-card__cart.is-in-cart::after {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 15px;
  height: 15px;
  border: 2px solid var(--jl-light);
  border-radius: 50%;
  content: "";
  background: #8d1e16;
  box-shadow: 0 0 0 2px rgba(20, 0, 0, 0.8);
}

.jl-catalog--products .jl-product-card__cart {
  right: 20px;
  bottom: 18px;
  width: 49px;
}

.jl-catalog--accessories .jl-product-card__cart {
  right: 20px;
  bottom: 18px;
  width: 49px;
}

.jl-technology {
  --jl-tech-gap: 10px;
  --jl-tech-slide: calc((100vw - var(--jl-tech-gap) * 2) / 3);
  padding: 10px 0 0;
}

.jl-technology__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--jl-tech-slide);
  gap: 40px;
  align-items: start;
  padding-left: 40px;
}

.jl-technology__copy {
  max-width: 700px;
}

.jl-technology__intro p {
  margin-bottom: 22px;
}

.jl-technology__intro .jl-btn {
  margin-top: 0;
}

.jl-technology__main-link,
.jl-technology__intro img {
  width: 100%;
  aspect-ratio: 1;
  height: auto;
  min-height: 0;
}

.jl-technology__main-link {
  overflow: hidden;
}

.jl-technology__main-link .jl-technology__main-image {
  height: 100%;
  object-fit: cover;
}

.jl-technology__gallery {
  margin-top: 10px;
}

.jl-technology__gallery .swiper-slide {
  aspect-ratio: 1;
}

.jl-slider {
  position: relative;
}

.jl-slider.swiper {
  width: 100%;
}

.jl-product-grid.swiper-wrapper,
.jl-recipe-grid.swiper-wrapper,
.jl-review-slider__track.swiper-wrapper {
  display: flex;
  gap: 0;
}

.jl-products-slider .jl-product-grid.swiper-wrapper {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jl-products-slider.swiper-initialized .jl-product-grid.swiper-wrapper {
  display: flex;
  gap: 0;
}

.jl-accessories-slider .jl-product-grid.swiper-wrapper {
  display: flex;
  gap: 0;
}

.jl-slider--with-controls .swiper-slide {
  height: auto;
}

.jl-slider__arrow {
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 75px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 1;
  transition: opacity 0.18s ease, filter 0.18s ease;
}

.jl-slider__arrow img {
  display: block;
  width: 100%;
  height: auto;
}

.jl-slider__arrow.swiper-button-disabled {
  cursor: default;
  filter: saturate(0.35);
  opacity: 0.22;
}

.jl-slider__arrow--prev {
  left: 0;
}

.jl-slider__arrow--next {
  right: 0;
}

.jl-slider--photo {
  overflow: hidden;
}

.jl-slider--photo .jl-slider__arrow {
  position: absolute;
  bottom: clamp(0.8rem, 1.55vw, 1.25rem);
  transform: none;
}

.jl-slider--photo .jl-slider__arrow--prev {
  left: clamp(0.7rem, 1.25vw, 1rem);
}

.jl-slider--photo .jl-slider__arrow--next {
  right: clamp(0.7rem, 1.25vw, 1rem);
}

.jl-slider-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1.5rem;
  align-items: center;
  min-height: 88px;
  padding: 16px 0 18px;
}

.jl-slider-controls .jl-slider__arrow {
  position: static;
}

.jl-slider-controls .jl-slider__arrow--prev {
  justify-self: start;
}

.jl-slider-controls .jl-slider__arrow--next {
  justify-self: end;
}

.jl-recipe-card {
  aspect-ratio: 0.94;
  min-height: 0;
}

.jl-recipes {
  padding: 0 0 31px;
}

.jl-recipes .jl-section__head {
  min-height: 100px;
  padding: 0;
}

.jl-recipes-slider {
  overflow: hidden;
}

.jl-recipes-slider .jl-recipe-grid.swiper-wrapper {
  display: flex;
  gap: 0;
}

.jl-recipes-slider .jl-slider-controls {
  min-height: 100px;
  padding: 18px 0 20px;
}

.jl-recipe-card::after {
  content: none;
}

.jl-recipe-card__body {
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: end;
  min-height: 118px;
  padding: 18px 20px 16px;
  padding-right: 20px;
  background: rgba(20, 0, 0, 0.8);
}

.jl-recipe-card h3 {
  grid-column: 1/-1;
  margin: 0 0 14px;
  font-size: 26px;
  line-height: 1.12;
}

.jl-recipe-card span {
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 16px;
  line-height: 1.2;
}

.jl-recipe-card span:last-child {
  justify-self: end;
}

.jl-reviews {
  padding: 0 0 34px;
}

.jl-reviews .jl-section__head {
  min-height: 90px;
  padding: 0;
}

.jl-review-slider {
  max-width: 982px;
  margin: 0 auto;
}

.jl-review {
  min-height: 420px;
  padding: 52px;
  background: #18181a;
  color: var(--jl-light);
}

.jl-review__meta {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 22px;
}

.jl-review__avatar {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.jl-review__meta strong {
  display: block;
  color: var(--jl-light);
  font-size: 18px;
}

.jl-review__meta span {
  display: block;
  margin-top: 4px;
  color: #ae9f98;
  font-size: 12px;
}

.jl-review p {
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 24px;
  line-height: 1.34;
}

.jl-review__photos {
  display: flex;
  gap: 6px;
  margin: 18px 0 28px;
}

.jl-review__photos a {
  display: block;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
}

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

.jl-review__reply {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-top: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 18px;
  font-style: italic;
  font-weight: 500;
}

.jl-review__reply img {
  flex: 0 0 auto;
  width: 42px;
  height: auto;
  filter: invert(1) brightness(2.8) grayscale(1);
}

.jl-review__reply span {
  display: block;
}

.jl-contacts {
  padding-top: 0;
}

.jl-contacts__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 48px;
  align-items: center;
  padding: 34px 40px 36px;
  color: var(--jl-light);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
}

.jl-contacts__bar a,
.jl-contacts__bar span {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.jl-contacts__bar > span,
.jl-contacts__bar > a:last-child {
  flex-basis: 100%;
}

.jl-contacts__bar a:hover {
  color: var(--jl-light);
}

.jl-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--jl-light);
  color: var(--jl-bg) !important;
  font-size: 14px;
  text-decoration: none;
  text-transform: uppercase;
}

.jl-social span {
  display: none;
}

.jl-social::before {
  width: 24px;
  height: 24px;
  content: "";
  background: url("/img/jamonlab/social-telegram.svg") center/contain no-repeat;
}

.jl-social--vk {
  border-radius: 10px;
}

.jl-social--vk::before {
  width: 24px;
  height: 24px;
  content: "";
  background-image: url("/img/jamonlab/social-vk.svg");
}

.jl-map-frame {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
  background-color: #e7dfd4;
}

.jl-map-frame::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  content: "";
  background: rgba(86, 54, 31, 0.18);
  mix-blend-mode: multiply;
}

.jl-map-placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: sepia(0.24) saturate(0.58) contrast(0.94) brightness(0.93);
}

.jl-map {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: sepia(0.24) saturate(0.58) contrast(0.94) brightness(0.93);
  opacity: 0;
  transition: opacity 0.28s ease;
}

.jl-map.is-loaded {
  opacity: 1;
}

.jl-map iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

.jl-map-touch-guard {
  display: none;
}

@media (hover: none) and (pointer: coarse) {
  .jl-map-frame.has-touch-guard:not(.is-map-active) .jl-map {
    pointer-events: none;
  }
  .jl-map-frame.has-touch-guard .jl-map-touch-guard {
    position: absolute;
    z-index: 3;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    touch-action: pan-y;
  }
  .jl-map-frame.has-touch-guard.is-map-active .jl-map-touch-guard {
    pointer-events: none;
  }
}
.site-footer--homepage {
  padding: 0;
  background: var(--jl-panel);
  color: var(--jl-light);
  font-family: var(--jl-mono);
}

.jl-footer-legal {
  display: flex;
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  justify-content: space-between;
  gap: 32px;
  min-height: 120px;
  padding: 24px 40px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.jl-footer-legal p {
  margin: 0 0 12px;
}

.jl-footer-legal p:last-child {
  margin-bottom: 0;
}

.jl-footer-legal__links {
  display: grid;
  gap: 14px;
  justify-items: end;
}

.jl-footer-legal__links a {
  color: var(--jl-light);
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 1185.98px) {
  .jl-section h2 {
    font-size: 48px;
  }
  .jl-about {
    display: grid;
    gap: 30px;
    align-items: stretch;
    padding: 28px 0 34px;
  }
  .jl-about__copy {
    display: contents;
  }
  .jl-about__intro {
    order: 1;
    padding: 0 24px;
  }
  .jl-about__media {
    order: 2;
    flex-basis: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 2.45;
  }
  .jl-about__body {
    order: 3;
    padding-right: 24px;
    padding-left: 24px;
  }
  .jl-about__copy .jl-btn {
    order: 4;
    justify-self: center;
  }
  .jl-catalog--products {
    padding-bottom: 0;
  }
  .jl-catalog--products .jl-section__head {
    min-height: 80px;
  }
  .jl-products-slider .jl-slider-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 1.5rem;
    align-items: center;
    min-height: 100px;
    padding: 16px 0 20px;
  }
  .jl-products-slider .jl-slider__arrow {
    display: inline-flex;
  }
  .jl-technology {
    display: grid;
    padding-top: 0;
  }
  .jl-technology__intro,
  .jl-technology__copy {
    display: contents;
  }
  .jl-technology__intro h2 {
    order: 1;
    margin: 0;
    padding: 24px 16px 22px;
    text-align: center;
  }
  .jl-technology__text {
    padding-right: 16px;
    padding-left: 16px;
    font-size: 26px;
    line-height: 1.28;
  }
  .jl-technology__text--1 {
    order: 2;
    margin-bottom: 22px;
  }
  .jl-technology__main-link {
    order: 3;
    width: calc(100% - 32px);
    height: calc((100vw - 32px) * 0.524);
    max-height: 430px;
    margin: 0 16px;
    aspect-ratio: 1.64;
  }
  .jl-technology__main-image {
    width: 100%;
    height: 100%;
  }
  .jl-technology-slider {
    order: 4;
    margin-top: 10px;
    padding-right: 16px;
    padding-left: 16px;
  }
  .jl-technology__gallery {
    margin-top: 0;
  }
  .jl-technology__text--2 {
    order: 5;
    margin: 34px 0 0;
  }
  .jl-technology__text--3 {
    order: 6;
    margin: 0;
  }
  .jl-technology__copy .jl-btn {
    order: 7;
    justify-self: center;
    margin-top: 18px;
    margin-bottom: 28px;
  }
  .jl-recipes .jl-section__head,
  .jl-reviews .jl-section__head {
    min-height: 86px;
  }
  .jl-recipe-card {
    aspect-ratio: 0.92;
  }
  .jl-catalog--products .jl-product-card h3,
  .jl-catalog--accessories .jl-product-card h3 {
    font-size: 22px;
  }
  .jl-recipe-card h3 {
    font-size: 24px;
  }
  .jl-review-slider {
    max-width: calc(100% - 64px);
  }
  .jl-review {
    min-height: 360px;
    padding: 40px;
  }
  .jl-review__meta {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .jl-review__avatar {
    width: 42px;
    height: 42px;
  }
  .jl-review p {
    font-size: 22px;
  }
  .jl-promo__panel {
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
    padding-right: 32px;
    padding-left: 32px;
  }
  .jl-promo__panel h2 {
    font-size: 24px;
  }
  .jl-contacts__bar {
    gap: 14px 34px;
    padding: 30px 32px 32px;
    font-size: 24px;
  }
  .jl-map-frame {
    height: 430px;
  }
  .jl-footer-legal {
    min-height: 150px;
    padding: 24px 32px;
    text-align: center;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .jl-footer-legal__links {
    justify-items: center;
  }
}
@media (max-width: 991.98px) {
  .jl-technology__copy {
    max-width: none;
  }
  .jl-product-grid:not(.swiper-wrapper),
  .jl-recipe-grid:not(.swiper-wrapper) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .jl-section {
    padding-right: 0;
    padding-left: 0;
  }
  .jl-section__head {
    min-height: 4.4rem;
  }
  .jl-section h2 {
    font-size: 2.15rem;
  }
  .jl-catalog--products .jl-section__head {
    min-height: 74px;
  }
  .jl-catalog--products .jl-product-card {
    aspect-ratio: 0.94;
  }
  .jl-catalog--products .jl-product-card h3 {
    font-size: 22px;
  }
  .jl-catalog--products .jl-product-card strong {
    font-size: 24px;
  }
  .jl-catalog--products .jl-btn--center {
    width: auto;
    min-width: auto;
  }
  .jl-products-cta__prefix {
    display: none;
  }
  .jl-products-slider .jl-slider-controls {
    min-height: 102px;
    padding: 14px 16px 18px;
  }
  .jl-technology {
    padding-top: 0;
  }
  .jl-technology__intro h2 {
    padding-top: 16px;
    padding-bottom: 18px;
  }
  .jl-promo {
    min-height: 0;
  }
  .jl-promo__video,
  .jl-promo img {
    height: 80svh;
    min-height: 520px;
  }
  .jl-promo__panel {
    width: calc(100% - 32px);
    max-width: none;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 14px;
    padding: 14px 0;
  }
  .jl-promo__panel h2 {
    font-size: 22px;
  }
  .jl-promo__panel p {
    grid-column: 1/-1;
    order: 3;
    font-size: 12px;
  }
  .jl-promo__panel .jl-btn {
    align-self: center;
  }
  .jl-about {
    gap: 28px;
    padding: 26px 0 34px;
  }
  .jl-about__media {
    min-height: 0;
    aspect-ratio: 1.11;
  }
  .jl-technology__intro p {
    font-size: 23px;
    line-height: 1.27;
  }
  .jl-technology__main-link {
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
    height: auto;
    min-height: 0;
    margin-right: 16px;
    margin-left: 16px;
  }
  .jl-technology__main-image {
    width: 100%;
    height: 100%;
  }
  .jl-technology-slider {
    margin-top: 10px;
    margin-bottom: 22px;
  }
  .jl-technology__text--2 {
    margin-top: 40px;
  }
  .jl-review p {
    font-size: 20px;
    line-height: 1.43;
  }
  .jl-about__intro {
    padding-right: 16px;
    padding-left: 16px;
    font-size: 23px;
    line-height: 1.27;
  }
  .jl-about__title {
    font-size: 27px;
    line-height: inherit;
  }
  .jl-about__body {
    padding-right: 16px;
    padding-left: 16px;
    font-size: 23px;
    line-height: 1.27;
  }
  .jl-product-grid:not(.swiper-wrapper),
  .jl-recipe-grid:not(.swiper-wrapper) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .jl-product-card {
    min-height: 15.4rem;
  }
  .jl-product-card h3,
  .jl-recipe-card h3 {
    font-size: 0.96rem;
  }
  .jl-product-card p,
  .jl-product-card strong,
  .jl-recipe-card span {
    font-size: 0.78rem;
  }
  .jl-product-card__body,
  .jl-recipe-card__body {
    padding-right: 2.8rem;
  }
  .jl-product-card__cart {
    width: 1.8rem;
  }
  .jl-recipe-card {
    aspect-ratio: 0.86;
    min-height: 0;
  }
  .jl-recipes {
    padding-bottom: 0;
  }
  .jl-recipes .jl-section__head,
  .jl-reviews .jl-section__head {
    min-height: 74px;
  }
  .jl-recipe-card__body {
    min-height: 92px;
    padding: 13px 16px 12px;
  }
  .jl-recipe-card h3 {
    margin-bottom: 9px;
    font-size: 20px;
  }
  .jl-recipe-card span {
    font-size: 16px;
  }
  .jl-recipes-slider .jl-slider-controls {
    min-height: 102px;
    padding: 14px 16px 18px;
  }
  .jl-reviews {
    padding-bottom: 0;
  }
  .jl-review-slider {
    max-width: calc(100% - 32px);
  }
  .jl-review {
    min-height: 0;
    padding: 28px 18px;
  }
  .jl-review__meta {
    grid-template-columns: 42px minmax(0, 1fr);
    margin-bottom: 14px;
  }
  .jl-review__avatar {
    width: 42px;
    height: 42px;
  }
  .jl-review__meta strong {
    font-size: 15px;
  }
  .jl-review__meta span {
    font-size: 11px;
  }
  .jl-review p {
    font-size: 20px;
    line-height: 1.42;
  }
  .jl-review__photos {
    margin: 14px 0 20px;
  }
  .jl-review__photos a {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }
  .jl-review__photos img {
    width: 100%;
    height: 100%;
  }
  .jl-review__reply {
    gap: 12px;
    font-size: 18px;
  }
  .jl-review__reply img {
    width: 32px;
  }
  .jl-review-slider .jl-slider-controls {
    padding-right: 0;
    padding-left: 0;
  }
  .jl-reviews {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .jl-review-slider {
    max-width: none;
  }
  .jl-slider-controls {
    min-height: 4.8rem;
    padding: 0.9rem 16px 1rem;
    gap: 0.75rem;
  }
  .jl-review-slider .jl-slider-controls {
    padding-right: 0;
    padding-left: 0;
  }
  .jl-slider__arrow {
    width: 3.5rem;
    height: auto;
  }
  .jl-contacts__bar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 26px 14px;
    align-items: flex-start;
    padding: 28px 32px 30px;
    font-size: 24px;
  }
  .jl-contacts__bar > a:last-child {
    font-size: 20px;
  }
  .jl-contacts__bar > a:not(.jl-social),
  .jl-contacts__bar > span {
    flex-basis: 100%;
  }
  .jl-contacts__bar > span,
  .jl-contacts__bar > a:last-child {
    flex-basis: auto;
  }
  .jl-social {
    width: 42px;
    height: 42px;
  }
  .jl-map-frame {
    height: 360px;
  }
  .jl-footer-legal {
    min-height: 190px;
    padding: 24px 16px;
    font-size: 12px;
    line-height: 1.45;
  }
  .homepage-redesign .site-footer {
    padding: 0;
  }
  .jl-footer-legal__links {
    gap: 10px;
  }
}
.hero-section {
  position: relative;
  overflow: hidden;
  padding-top: clamp(2.25rem, 4.5vw, 4.25rem);
  color: #fffdf8;
  background: linear-gradient(135deg, rgba(184, 138, 42, 0.22), transparent 42%), linear-gradient(120deg, #0c0b09 0%, #17140f 58%, #2a2110 100%);
}

.hero-section::after {
  position: absolute;
  inset: auto -12rem -18rem auto;
  width: 34rem;
  height: 34rem;
  content: "";
  border: 1px solid rgba(184, 138, 42, 0.24);
  border-radius: 45%;
  transform: rotate(18deg);
}

.hero-section .container-xxl {
  position: relative;
  z-index: 1;
}

.eyebrow {
  margin-bottom: 1rem;
  color: var(--aa-gold);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

h1.eyebrow {
  font-size: 1.56rem;
  line-height: 1.18;
}

.hero-title {
  max-width: 16ch;
  margin-bottom: clamp(1.35rem, 2.2vw, 2rem);
  font-size: 4.8rem;
  font-weight: 600;
  line-height: 1.06;
}

.hero-lead {
  max-width: 42rem;
  color: rgba(255, 253, 248, 0.75);
}

.hero-card,
.hero-slider,
.service-card,
.project-card,
.principle-card,
.footer-panel,
.cta-panel {
  border: 1px solid var(--aa-line);
  border-radius: var(--bs-border-radius-xl);
  box-shadow: var(--aa-shadow);
}

.hero-card {
  position: relative;
  overflow: hidden;
  min-height: 27rem;
  padding: clamp(2rem, 4vw, 3rem);
  background: rgba(255, 253, 248, 0.08);
  backdrop-filter: blur(20px);
}

.hero-card__line {
  display: block;
  width: 5rem;
  height: 0.25rem;
  margin-bottom: 2rem;
  border-radius: 999px;
  background: var(--aa-gold);
}

.hero-card__label {
  color: var(--aa-gold);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-card h2 {
  margin-bottom: 1.5rem;
  font-weight: 600;
}

.hero-card p:last-child {
  color: rgba(255, 253, 248, 0.72);
}

.hero-slider {
  --hero-slider-pad: clamp(1.75rem, 3vw, 2.35rem);
  position: relative;
  overflow: hidden;
  min-height: 31rem;
  background: rgba(255, 253, 248, 0.08);
}

.hero-slider .carousel-inner,
.hero-slider .carousel-item {
  height: 31rem;
}

.hero-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-slider::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, transparent 38%, rgba(12, 11, 9, 0.84));
}

.hero-slider__caption {
  position: absolute;
  z-index: 2;
  right: var(--hero-slider-pad);
  bottom: calc(var(--hero-slider-pad) + 1.25rem);
  left: var(--hero-slider-pad);
  color: #fffdf8;
}

.hero-slider__caption span {
  display: block;
  margin-bottom: 0.55rem;
  color: var(--aa-gold);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-slider__caption strong {
  display: block;
  max-width: 24rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.08;
}

.hero-slider .carousel-indicators {
  z-index: 3;
  right: auto;
  bottom: var(--hero-slider-pad);
  left: var(--hero-slider-pad);
  justify-content: flex-start;
  margin: 0;
}

.hero-slider .carousel-indicators [data-bs-target] {
  width: 2rem;
  height: 0.25rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.75);
}

.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next {
  z-index: 3;
  top: 1rem;
  bottom: auto;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 253, 248, 0.2);
  border-radius: 50%;
  background: rgba(12, 11, 9, 0.38);
  opacity: 1;
}

.hero-slider .carousel-control-prev {
  right: 4.25rem;
  left: auto;
}

.hero-slider .carousel-control-next {
  right: 1rem;
}

.stats-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat-card {
  padding: 1.4rem;
  border: 1px solid rgba(255, 253, 248, 0.13);
  border-radius: var(--bs-border-radius-lg);
  background: rgba(255, 253, 248, 0.07);
}

.stat-card strong {
  display: block;
  color: var(--aa-gold);
  font-size: 3.8rem;
  font-weight: 600;
  line-height: 0.95;
}

.stat-card span {
  display: block;
  margin-top: 0.75rem;
  color: rgba(255, 253, 248, 0.74);
}

.section-text {
  color: color-mix(in srgb, var(--aa-ink) 68%, transparent);
  font-size: 1.08rem;
}

.section-heading .display-6,
.muted-section .display-6,
.cta-panel .display-6,
.page-hero .display-3 {
  line-height: 1.12;
}

.service-card,
.project-card,
.principle-card {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  background: color-mix(in srgb, var(--aa-white) 84%, var(--aa-paper));
}

.service-card::before,
.project-card::before,
.principle-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.35rem;
  content: "";
  background: linear-gradient(180deg, var(--aa-gold), transparent);
}

.service-card__number,
.project-card__type {
  color: var(--aa-gold-deep);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.service-card__number {
  position: absolute;
  top: 0.7rem;
  right: 1.15rem;
  color: color-mix(in srgb, var(--aa-gold) 34%, transparent);
  font-size: 8.8rem;
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 0.82;
  pointer-events: none;
}

.service-card h3,
.project-card h3,
.principle-card h3 {
  position: relative;
  z-index: 1;
  margin: 1rem 0;
  font-size: 1.45rem;
  font-weight: 600;
}

.service-card p,
.project-card p,
.principle-card p {
  position: relative;
  z-index: 1;
  color: color-mix(in srgb, var(--aa-ink) 70%, transparent);
}

.muted-section {
  background: linear-gradient(90deg, color-mix(in srgb, var(--aa-paper) 88%, transparent), transparent), var(--aa-paper);
  border-block: 1px solid var(--aa-line);
}

.advantage-list {
  display: grid;
  gap: 1rem;
}

.advantage-item {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1.2rem 1.35rem;
  border: 1px solid var(--aa-line);
  border-radius: var(--bs-border-radius-lg);
  background: color-mix(in srgb, var(--aa-white) 72%, transparent);
}

.advantage-item span {
  flex: 0 0 auto;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: var(--aa-gold);
  box-shadow: 0 0 0 0.45rem var(--aa-gold-soft);
}

.advantage-item p {
  margin: 0;
  font-weight: 600;
}

.project-card {
  min-height: 21rem;
  padding: 0;
}

.project-card::before {
  z-index: 1;
}

.project-card__image {
  display: block;
  width: 100%;
  height: 14rem;
  object-fit: cover;
}

.project-card__body {
  padding: 1.6rem 2rem 2rem;
}

.link-aa,
.cta-mail,
.footer-nav a,
.footer-contacts a {
  color: var(--aa-gold-deep);
  font-weight: 600;
  text-decoration: none;
}

.link-aa:hover,
.cta-mail:hover,
.footer-nav a:hover,
.footer-contacts a:hover {
  color: var(--aa-gold);
}

.cta-section {
  padding-top: 0;
}

.cta-panel {
  margin-right: 0;
  margin-left: 0;
  padding: clamp(2rem, 5vw, 4rem);
  background: linear-gradient(135deg, var(--aa-gold-soft), transparent 48%), color-mix(in srgb, var(--aa-white) 84%, var(--aa-paper));
}

.contact-direct {
  max-width: 22rem;
}

.contact-direct__phone {
  display: inline-block;
  color: var(--aa-ink);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-decoration: none;
}

.contact-direct__phone:hover {
  color: var(--aa-gold);
}

.cta-divider {
  display: block;
  width: 1px;
  min-height: 100%;
  background: linear-gradient(180deg, transparent, var(--aa-line) 18%, var(--aa-line) 82%, transparent);
}

.contact-form {
  height: 100%;
  padding: 0;
}

.contact-form > .row {
  margin-right: 0;
  margin-left: 0;
}

.contact-form label {
  display: block;
  margin-bottom: 0.45rem;
  color: color-mix(in srgb, var(--aa-ink) 76%, transparent);
  font-size: 0.82rem;
  font-weight: 600;
}

.contact-form input:not([type=checkbox]),
.contact-form select,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--aa-line);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--aa-white) 88%, transparent);
  color: var(--aa-ink);
  font: inherit;
  padding: 0.9rem 1rem;
  outline: none;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form input:not([type=checkbox]):focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--aa-gold);
  box-shadow: 0 0 0 0.22rem var(--aa-gold-soft);
}

.contact-form input.is-field-invalid:not([type=checkbox]),
.contact-form select.is-field-invalid,
.contact-form textarea.is-field-invalid {
  border-color: #b85c4c;
  box-shadow: 0 0 0 0.18rem color-mix(in srgb, #b85c4c 24%, transparent);
}

.contact-form__check {
  display: flex !important;
  gap: 0.7rem;
  align-items: flex-start;
  margin-bottom: 0 !important;
}

.contact-form__check input {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.15rem;
  accent-color: var(--aa-gold);
}

.contact-form__check.is-field-invalid {
  color: #783225;
}

.contact-form__check.is-field-invalid input {
  outline: 2px solid #b85c4c;
  outline-offset: 2px;
}

.contact-form__check a {
  color: var(--aa-gold-deep);
  font-weight: 600;
}

.contact-form__message {
  border: 1px solid var(--aa-line);
  border-radius: 1rem;
  font-weight: 700;
  line-height: 1.45;
  padding: 0.9rem 1rem;
}

.contact-form__message[hidden] {
  display: none;
}

.contact-form__message--success {
  background: color-mix(in srgb, #d7ead2 74%, var(--aa-white));
  border-color: color-mix(in srgb, #4f8f42 50%, var(--aa-line));
  color: #285522;
}

.contact-form__message--error {
  background: color-mix(in srgb, #f4d6cf 72%, var(--aa-white));
  border-color: color-mix(in srgb, #b85c4c 50%, var(--aa-line));
  color: #783225;
}

.contact-form__message--info {
  background: color-mix(in srgb, var(--aa-gold-soft) 70%, var(--aa-white));
  border-color: color-mix(in srgb, var(--aa-gold) 45%, var(--aa-line));
  color: var(--aa-ink);
}

.contact-form.is-submitting .btn {
  cursor: wait;
  opacity: 0.78;
}

.site-footer {
  padding: 4rem 0;
  background: var(--aa-black);
  color: #fffdf8;
}

.site-footer .brand-mark,
.site-footer .brand-mark:hover {
  color: #fffdf8;
}

.site-footer .brand-mark__text small {
  color: rgba(255, 253, 248, 0.62);
}

.footer-panel {
  margin-right: 0;
  margin-left: 0;
  padding: clamp(2rem, 4vw, 3rem);
  background: rgba(255, 253, 248, 0.06);
  border-color: rgba(255, 253, 248, 0.12);
}

.footer-lead,
.footer-contacts li {
  color: rgba(255, 253, 248, 0.7);
}

.footer-nav li + li,
.footer-contacts li + li {
  margin-top: 0.65rem;
}

@media (max-width: 991.98px) {
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hero-title,
  .page-hero h1 {
    max-width: none;
  }
  .hero-slider,
  .hero-slider .carousel-inner,
  .hero-slider .carousel-item {
    min-height: 24rem;
    height: 24rem;
  }
}
@media (max-width: 575.98px) {
  html,
  body {
    overflow-x: hidden;
    overflow-x: clip;
  }
  .container-xxl {
    --bs-gutter-x: 1.25rem;
  }
  .section-pad {
    padding: 3.5rem 0;
  }
  .hero-section {
    padding-top: 2.25rem;
  }
  .site-header .navbar {
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
  }
  .site-header--compact .navbar {
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
  }
  .brand-mark {
    gap: 0.75rem;
  }
  .brand-mark__sign {
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 1.1rem;
  }
  .brand-mark__sign img {
    width: 2.72rem;
  }
  .brand-mark__text span {
    font-size: 1.08rem;
  }
  .site-header--compact .brand-mark__sign {
    width: 3.05rem;
    height: 3.05rem;
    border-radius: 0.95rem;
  }
  .site-header--compact .brand-mark__sign img {
    width: 2.18rem;
  }
  .site-header--compact .brand-mark__text span {
    font-size: 0.98rem;
  }
  .brand-mark__text small {
    max-width: 11rem;
    font-size: 0.58rem;
  }
  .site-header--compact .brand-mark__text small {
    font-size: 0.54rem;
  }
  .hero-title {
    font-size: 2.55rem;
    line-height: 1.08;
  }
  .page-hero .display-3 {
    font-size: 2.45rem;
    line-height: 1.1;
  }
  .hero-lead {
    font-size: 1rem;
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .hero-card {
    min-height: auto;
  }
  .hero-slider,
  .hero-slider .carousel-inner,
  .hero-slider .carousel-item {
    min-height: 21rem;
    height: 21rem;
  }
  .hero-slider {
    --hero-slider-pad: 1.45rem;
    border-radius: 1.55rem;
  }
  .hero-slider .carousel-control-prev,
  .hero-slider .carousel-control-next {
    top: 0.8rem;
    width: 2.45rem;
    height: 2.45rem;
  }
  .hero-slider .carousel-control-prev {
    right: 3.75rem;
  }
  .hero-slider .carousel-control-next {
    right: 0.8rem;
  }
  .hero-slider__caption strong {
    max-width: 15rem;
    font-size: 1.08rem;
  }
  .stat-card,
  .service-card,
  .project-card,
  .advantage-item,
  .cta-panel,
  .footer-panel {
    border-radius: 1.45rem;
  }
  .service-card {
    min-height: 13.5rem;
    padding: 1.65rem 1.55rem;
  }
  .service-card__number {
    top: 0.55rem;
    right: 0.9rem;
    font-size: 5.4rem;
  }
  .project-card__image {
    height: 12.5rem;
  }
  .project-card__body {
    padding: 1.45rem 1.55rem 1.7rem;
  }
  .cta-section {
    padding-inline: 0.45rem;
  }
  .cta-panel {
    --bs-gutter-x: 0;
    --bs-gutter-y: 1.6rem;
    padding: 1.8rem 1.2rem;
  }
  .contact-direct {
    max-width: none;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid var(--aa-line);
  }
  .contact-direct__phone {
    font-size: 1.35rem;
  }
  .contact-form input:not([type=checkbox]),
  .contact-form select,
  .contact-form textarea {
    border-radius: 0.9rem;
    padding: 0.82rem 0.9rem;
  }
  .contact-form > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 1rem;
  }
  .contact-form .btn {
    width: 100%;
    --bs-btn-padding-y: .85rem;
  }
  .site-footer {
    padding: 3rem 0.45rem;
  }
  .footer-panel {
    --bs-gutter-x: 0;
    --bs-gutter-y: 1.25rem;
    padding: 1.8rem 1.2rem;
  }
  .footer-nav li + li,
  .footer-contacts li + li {
    margin-top: 0.55rem;
  }
  .process-list li {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header .navbar,
  .brand-mark,
  .brand-mark__sign,
  .brand-mark__sign img,
  .brand-mark__text,
  .brand-mark__text span,
  .brand-mark__text small {
    transition: none;
  }
}
.about-redesign {
  background: var(--jl-bg);
}

.about-redesign .site-main {
  gap: 0;
  background: var(--jl-bg);
}

.about-redesign .site-footer {
  margin-top: 0;
}

.about-redesign .jl-hero {
  min-height: 365px;
}

.about-redesign .jl-hero__content {
  padding-top: 24px;
  padding-bottom: 24px;
}

.about-redesign .jl-hero__image {
  object-position: center 30%;
}

@media (max-width: 575.98px) {
  .about-redesign .jl-hero__image {
    object-position: center 46%;
  }
}
.about-redesign .jl-hero__shade {
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.04) 0%, rgba(232, 219, 202, 0) 54%, rgba(24, 24, 26, 0.18) 100%);
}

.about-redesign .jl-hero__nav-link.is-current {
  position: relative;
}

.about-redesign .jl-hero__nav-link.is-current::after {
  position: absolute;
  right: 0;
  bottom: 11px;
  left: 0;
  height: 3px;
  content: "";
  background: #c64251;
}

.jl-about-page-title,
.jl-about-story__row {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  color: var(--jl-light);
  font-family: var(--jl-mono);
}

.jl-about-page-title {
  display: grid;
  min-height: 100px;
  place-items: center;
  background: var(--jl-bg);
}

.jl-about-page-title h2 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 50px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.jl-about-story {
  display: grid;
  width: 100%;
  max-width: none;
  overflow: hidden;
  background: var(--jl-bg);
}

.jl-about-story__row {
  display: grid;
  min-height: 0;
  align-items: stretch;
  grid-template-columns: 500px minmax(0, 1fr);
  background: var(--jl-bg);
}

.jl-about-story__row--reversed {
  grid-template-columns: minmax(0, 1fr) 500px;
  background: var(--jl-panel);
  box-shadow: 0 0 0 100vmax var(--jl-panel);
  clip-path: inset(0 -100vmax);
}

.jl-about-story__row--reversed .jl-about-story__media {
  order: 2;
}

.jl-about-story__row--reversed .jl-about-story__copy {
  order: 1;
  background: var(--jl-panel);
}

.jl-about-story__media {
  min-width: 0;
  height: 500px;
  min-height: 0;
  aspect-ratio: 1;
  background: #0f0f10;
}

.jl-about-story__media .swiper-wrapper,
.jl-about-story__media .swiper-slide,
.jl-about-story__media .jl-lightbox-link {
  height: 100%;
}

.jl-about-story__media .swiper-slide > img,
.jl-about-story__media .jl-lightbox-link > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jl-about-story__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 26px 58px 26px 40px;
  background: var(--jl-bg);
  color: var(--jl-light);
  font-family: var(--jl-serif);
}

.jl-about-story__copy p {
  max-width: 710px;
  margin: 0;
  color: var(--jl-light);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.36;
  letter-spacing: 0;
}

.jl-about-story__copy p + p {
  margin-top: 24px;
}

.jl-about-story__lead span {
  font-size: 27px;
  line-height: 1.08;
}

@media (max-width: 1185.98px) {
  .about-redesign .jl-hero {
    min-height: 330px;
  }
  .about-redesign .jl-hero__content {
    padding-top: 24px;
    padding-bottom: 20px;
  }
  .jl-about-page-title {
    min-height: 90px;
  }
  .jl-about-page-title h2 {
    font-size: 48px;
  }
  .jl-about-story__row,
  .jl-about-story__row--reversed {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .jl-about-story__row--reversed .jl-about-story__media,
  .jl-about-story__row--reversed .jl-about-story__copy {
    order: initial;
  }
  .jl-about-story__row--reversed {
    background: var(--jl-panel);
  }
  .jl-about-story__media {
    width: calc(100vw - 32px);
    max-width: 802px;
    height: auto;
    min-height: 0;
    aspect-ratio: 1.08;
    margin-right: auto;
    margin-left: auto;
  }
  .jl-about-story__copy,
  .jl-about-story__row:not(.jl-about-story__row--reversed) .jl-about-story__copy,
  .jl-about-story__row--reversed .jl-about-story__copy {
    padding: 34px 32px 44px;
    background: var(--jl-bg);
  }
  .jl-about-story__row--reversed .jl-about-story__copy {
    background: var(--jl-panel);
  }
  .jl-about-story__copy p {
    max-width: none;
    font-size: 20px;
    line-height: 1.34;
  }
  .jl-about-story__lead span {
    font-size: 32px;
  }
}
@media (max-width: 575.98px) {
  .about-redesign .jl-hero {
    min-height: 247px;
  }
  .about-redesign .jl-hero__content {
    padding-top: 0.85rem;
    padding-bottom: 16px;
  }
  .about-redesign .jl-hero__nav-link.is-current::after {
    display: none;
  }
  .jl-about-page-title {
    min-height: 82px;
  }
  .jl-about-page-title h2 {
    font-size: 42px;
  }
  .jl-about-story__media {
    width: 100%;
    max-width: none;
    aspect-ratio: 1;
  }
  .jl-about-story__copy,
  .jl-about-story__row:not(.jl-about-story__row--reversed) .jl-about-story__copy,
  .jl-about-story__row--reversed .jl-about-story__copy {
    padding: 30px 16px 38px;
  }
  .jl-about-story__copy p {
    font-size: 20px;
    line-height: 1.34;
  }
  .jl-about-story__copy p + p {
    margin-top: 24px;
  }
  .jl-about-story__lead span {
    font-size: 27px;
  }
}
.services-redesign {
  background: var(--jl-bg);
}

.services-redesign .site-main {
  gap: 0;
  background: var(--jl-bg);
}

.services-redesign .site-footer {
  margin-top: 0;
}

.services-redesign .jl-hero {
  min-height: 365px;
}

.services-redesign .jl-hero__content {
  padding-top: 24px;
  padding-bottom: 24px;
}

.services-redesign .jl-hero__image {
  object-position: center 30%;
}

@media (max-width: 575.98px) {
  .services-redesign .jl-hero__image {
    object-position: center 46%;
  }
}
.services-redesign .jl-hero__shade {
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.04) 0%, rgba(232, 219, 202, 0) 54%, rgba(24, 24, 26, 0.18) 100%);
}

.services-redesign .jl-hero__nav-link.is-current {
  position: relative;
}

.services-redesign .jl-hero__nav-link.is-current::after {
  position: absolute;
  right: 0;
  bottom: 11px;
  left: 0;
  height: 3px;
  content: "";
  background: #c64251;
}

.jl-technology-page-title,
.jl-technology-page {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  font-family: var(--jl-mono);
}

.jl-technology-page-title {
  display: grid;
  min-height: 100px;
  place-items: center;
  background: var(--jl-bg);
  color: var(--jl-light);
  box-shadow: 0 0 0 100vmax var(--jl-bg);
  clip-path: inset(0 -100vmax);
}

.jl-technology-page-title h2 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 50px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.jl-technology-page {
  overflow: hidden;
  background: var(--jl-bg);
  color: var(--jl-light);
}

.jl-technology-preparation {
  background: var(--jl-bg);
}

.jl-technology-preparation > h3,
.jl-technology-production > h3 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.jl-technology-preparation > h3 {
  padding-bottom: 24px;
}

.jl-technology-step {
  display: grid;
  min-height: 420px;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  background: var(--jl-bg);
}

.jl-technology-step--reversed {
  background: var(--jl-panel);
  box-shadow: 0 0 0 100vmax var(--jl-panel);
  clip-path: inset(0 -100vmax);
}

.jl-technology-step__media {
  display: block;
  min-width: 0;
  height: 420px;
  overflow: hidden;
  background: #0f0f10;
  color: inherit;
  text-decoration: none;
}

.jl-technology-step__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jl-technology-step__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 40px 58px 40px 40px;
  background: var(--jl-bg);
}

.jl-technology-step--reversed .jl-technology-step__copy {
  background: var(--jl-panel);
}

.jl-technology-step__copy h4 {
  margin: 0 0 20px;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.jl-technology-step__copy p {
  max-width: 660px;
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.36;
  letter-spacing: 0;
}

.jl-technology-step--reversed .jl-technology-step__media {
  order: 2;
}

.jl-technology-step--reversed .jl-technology-step__copy {
  order: 1;
  padding-right: 40px;
  padding-left: 58px;
}

.jl-technology-production {
  padding: 62px 40px 58px;
  background: var(--jl-bg);
  color: var(--jl-light);
}

.jl-technology-production > h3 {
  font-size: 34px;
}

.jl-technology-production__lead {
  max-width: 1040px;
  margin: 26px auto 39px;
  color: var(--jl-muted);
  font-family: var(--jl-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.36;
  text-align: center;
}

.jl-technology-production__list {
  display: grid;
  gap: 31px;
  max-width: 980px;
  margin: 0 auto;
}

.jl-technology-production__item {
  display: grid;
  gap: 28px;
  grid-template-columns: 128px minmax(0, 1fr);
  align-items: start;
}

.jl-technology-production__item h4 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.jl-technology-production__item p {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.36;
  letter-spacing: 0;
}

.jl-technology-production__cta {
  display: block;
  width: fit-content;
  margin: 42px auto 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.jl-technology-production__cta:hover {
  color: var(--jl-light);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}

@media (max-width: 1185.98px) {
  .services-redesign .jl-hero {
    min-height: 330px;
  }
  .services-redesign .jl-hero__content {
    padding-top: 24px;
    padding-bottom: 20px;
  }
  .jl-technology-page-title {
    min-height: 90px;
  }
  .jl-technology-page-title h2 {
    font-size: 48px;
  }
  .jl-technology-preparation > h3 {
    padding-bottom: 24px;
    font-size: 30px;
  }
  .jl-technology-step,
  .jl-technology-step--reversed {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .jl-technology-step__media,
  .jl-technology-step--reversed .jl-technology-step__media {
    order: initial;
    width: calc(100vw - 32px);
    max-width: 802px;
    height: auto;
    aspect-ratio: 1.06;
    margin-right: auto;
    margin-left: auto;
  }
  .jl-technology-step__copy,
  .jl-technology-step--reversed .jl-technology-step__copy {
    order: initial;
    padding: 34px 32px 44px;
  }
  .jl-technology-step__copy h4 {
    font-size: 24px;
  }
  .jl-technology-step__copy p,
  .jl-technology-production__lead,
  .jl-technology-production__item p {
    max-width: none;
    font-size: 20px;
    line-height: 1.34;
  }
  .jl-technology-production {
    padding: 52px 32px 50px;
  }
  .jl-technology-production > h3 {
    font-size: 32px;
  }
  .jl-technology-production__item {
    grid-template-columns: 122px minmax(0, 1fr);
  }
}
@media (max-width: 575.98px) {
  .services-redesign .jl-hero {
    min-height: 247px;
  }
  .services-redesign .jl-hero__content {
    padding-top: 0.85rem;
    padding-bottom: 16px;
  }
  .services-redesign .jl-hero__nav-link.is-current::after {
    display: none;
  }
  .jl-technology-page-title {
    min-height: 82px;
  }
  .jl-technology-page-title h2 {
    font-size: 42px;
  }
  .jl-technology-preparation > h3,
  .jl-technology-production > h3 {
    font-size: 26px;
  }
  .jl-technology-preparation > h3 {
    padding-bottom: 18px;
  }
  .jl-technology-step__media,
  .jl-technology-step--reversed .jl-technology-step__media {
    width: 100%;
    max-width: none;
    aspect-ratio: 1;
  }
  .jl-technology-step__copy,
  .jl-technology-step--reversed .jl-technology-step__copy {
    padding: 30px 16px 38px;
  }
  .jl-technology-step__copy h4 {
    margin-bottom: 18px;
    font-size: 22px;
  }
  .jl-technology-step__copy p,
  .jl-technology-production__lead,
  .jl-technology-production__item p {
    font-size: 20px;
    line-height: 1.34;
  }
  .jl-technology-production {
    padding: 44px 16px 43px;
  }
  .jl-technology-production__lead {
    margin: 20px auto 31px;
    text-align: left;
  }
  .jl-technology-production__list {
    gap: 28px;
  }
  .jl-technology-production__item {
    gap: 10px;
    grid-template-columns: 1fr;
  }
  .jl-technology-production__item h4 {
    font-size: 22px;
  }
  .jl-technology-production__cta {
    margin-top: 31px;
    font-size: 24px;
  }
}
.projects-redesign,
.accessories-redesign,
.product-redesign {
  background: var(--jl-bg);
}

.projects-redesign .site-main,
.accessories-redesign .site-main,
.product-redesign .site-main {
  gap: 0;
  background: var(--jl-bg);
}

.projects-redesign .site-footer,
.accessories-redesign .site-footer,
.product-redesign .site-footer {
  margin-top: 0;
}

.projects-redesign .jl-hero,
.accessories-redesign .jl-hero,
.product-redesign .jl-hero {
  min-height: 365px;
}

.projects-redesign .jl-hero__content,
.accessories-redesign .jl-hero__content,
.product-redesign .jl-hero__content {
  padding-top: 24px;
  padding-bottom: 24px;
}

.projects-redesign .jl-hero__image,
.accessories-redesign .jl-hero__image,
.product-redesign .jl-hero__image {
  object-position: center 30%;
}

@media (max-width: 575.98px) {
  .projects-redesign .jl-hero__image,
  .accessories-redesign .jl-hero__image,
  .product-redesign .jl-hero__image {
    object-position: center 46%;
  }
}
.projects-redesign .jl-hero__shade,
.accessories-redesign .jl-hero__shade,
.product-redesign .jl-hero__shade {
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.04) 0%, rgba(232, 219, 202, 0) 54%, rgba(24, 24, 26, 0.18) 100%);
}

.projects-redesign .jl-hero__nav-link.is-current,
.accessories-redesign .jl-hero__nav-link.is-current,
.product-redesign .jl-hero__nav-link.is-current {
  position: relative;
}

.projects-redesign .jl-hero__nav-link.is-current::after,
.accessories-redesign .jl-hero__nav-link.is-current::after,
.product-redesign .jl-hero__nav-link.is-current::after {
  position: absolute;
  right: 0;
  bottom: 11px;
  left: 0;
  height: 3px;
  content: "";
  background: #c64251;
}

.jl-projects-page-title,
.jl-accessories-page-title,
.jl-meat-catalog,
.jl-accessories-catalog {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  font-family: var(--jl-mono);
}

.jl-projects-page-title,
.jl-accessories-page-title {
  display: grid;
  min-height: 100px;
  place-items: center;
  background: var(--jl-bg);
  color: var(--jl-light);
  box-shadow: 0 0 0 100vmax var(--jl-bg);
  clip-path: inset(0 -100vmax);
}

.jl-projects-page-title h2,
.jl-accessories-page-title h2 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 50px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.jl-meat-catalog,
.jl-accessories-catalog {
  overflow: hidden;
  background: var(--jl-bg);
  color: var(--jl-light);
}

.jl-accessories-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
  min-height: 86px;
  padding: 9px 32px 29px;
  background: var(--jl-bg);
  color: var(--jl-light);
}

.jl-accessories-filter__button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(243, 233, 223, 0.55);
  background: transparent;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
}

.jl-accessories-filter__button:hover,
.jl-accessories-filter__button:focus-visible,
.jl-accessories-filter__button.is-current {
  color: var(--jl-light);
  border-bottom-color: #c64251;
}

.jl-accessories-filter__button.is-current {
  cursor: default;
}

.jl-meat-catalog__grid,
.jl-accessories-catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding-bottom: 10px;
}

.jl-meat-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 1;
  background: #0f0f10;
  color: var(--jl-light);
}

.jl-meat-card.is-hidden {
  display: none;
}

.jl-meat-card__media {
  position: absolute;
  inset: 0;
  display: block;
  color: inherit;
  text-decoration: none;
}

.jl-meat-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.jl-meat-card:hover .jl-meat-card__media img {
  filter: brightness(1.08) saturate(1.03);
  transform: scale(1.025);
}

.jl-meat-card__body {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 6px;
  left: 0;
  color: var(--jl-light);
  pointer-events: none;
}

.jl-meat-card h3 {
  margin: 0 12px 7px 6px;
  padding: 7px 12px 8px;
  background: rgba(20, 0, 0, 0.8);
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0;
}

.jl-meat-card h3 a {
  color: inherit;
  pointer-events: auto;
  text-decoration: none;
}

.jl-meat-card h3 a:hover,
.jl-meat-card h3 a:focus-visible {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.jl-meat-card__details {
  min-height: 113px;
  margin: 0 6px 0 12px;
  padding: 12px 82px 12px 12px;
  background: rgba(20, 0, 0, 0.8);
  color: var(--jl-light);
  font-family: var(--jl-serif);
}

.jl-meat-card__details p,
.jl-meat-card__details strong {
  display: block;
  margin: 0;
  color: var(--jl-light);
  font-size: 18px;
  line-height: 1.28;
}

.jl-meat-card__details strong {
  margin-top: 8px;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.15;
}

.jl-meat-card__accessory-panel {
  min-height: 113px;
  margin: 0 6px 0 12px;
  padding: 12px 82px 12px 12px;
  background: rgba(20, 0, 0, 0.8);
  color: var(--jl-light);
}

.jl-meat-card__accessory-panel h3 {
  margin: 0 0 8px;
  padding: 0;
  background: transparent;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.16;
}

.jl-meat-card__accessory-panel strong {
  display: block;
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.15;
}

.jl-meat-card__cart {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 18px;
  display: block;
  width: 49px;
  height: 49px;
  color: var(--jl-light);
  text-decoration: none;
}

.jl-meat-card__cart img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jl-meat-card__cart.is-in-cart::after {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 15px;
  height: 15px;
  border: 2px solid var(--jl-light);
  border-radius: 50%;
  content: "";
  background: #8d1e16;
  box-shadow: 0 0 0 2px rgba(20, 0, 0, 0.8);
}

.jl-meat-card__cart:focus-visible,
.jl-meat-card__media:focus-visible {
  outline: 2px solid var(--jl-light);
  outline-offset: -4px;
}

.jl-product-detail {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding: 34px 40px 72px;
  background: var(--jl-bg);
  color: var(--jl-light);
  font-family: var(--jl-mono);
}

.jl-product-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  color: rgba(243, 233, 223, 0.78);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}

.jl-product-breadcrumb a {
  color: var(--jl-light);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}

.jl-product-breadcrumb span:last-child {
  color: var(--jl-light);
}

.jl-product-detail__top {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
  gap: 20px;
  align-items: start;
}

.jl-product-gallery {
  display: grid;
  gap: 10px;
}

.jl-product-gallery__main,
.jl-product-gallery__thumb {
  position: relative;
  display: block;
  overflow: hidden;
  background: #0f0f10;
  color: inherit;
  text-decoration: none;
}

.jl-product-gallery__main {
  aspect-ratio: 1.03;
}

.jl-product-gallery__main img,
.jl-product-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.jl-product-gallery__main:hover img,
.jl-product-gallery__thumb:hover img {
  filter: brightness(1.08) saturate(1.03);
  transform: scale(1.025);
}

.jl-product-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.jl-product-gallery__thumb {
  aspect-ratio: 1;
}

.jl-product-gallery__thumb.is-current {
  box-shadow: inset 0 0 0 3px rgba(243, 233, 223, 0.82);
}

.jl-product-order {
  min-width: 0;
  padding: 26px 28px 28px;
  background: rgba(20, 0, 0, 0.8);
  color: var(--jl-light);
}

.jl-product-order h2 {
  margin: 0 0 24px;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 38px;
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: 0;
}

.jl-product-options {
  display: grid;
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}

.jl-product-options legend {
  float: none;
  width: auto;
  margin: 0 0 14px;
  padding: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}

.jl-product-option {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 18px;
  line-height: 1.2;
  cursor: pointer;
}

.jl-product-option input {
  width: 19px;
  height: 19px;
  margin: 0;
  accent-color: #c64251;
}

.jl-product-buy {
  display: grid;
  grid-template-columns: auto minmax(154px, 1fr);
  gap: 2px;
  align-items: stretch;
  margin-top: 12px;
  background: transparent;
}

.jl-product-buy__price,
.jl-product-buy__button,
.jl-product-quantity button,
.jl-product-quantity input {
  min-height: 51px;
  border: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.jl-product-buy__price {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-column: 1/-1;
  min-width: 0;
  margin: 0;
  padding: 0 16px;
  background: rgba(243, 233, 223, 0.08);
  font-size: 21px;
  line-height: 1.16;
  text-align: center;
  overflow-wrap: anywhere;
  white-space: normal;
}

.jl-product-quantity {
  display: grid;
  grid-template-columns: 42px 40px 42px;
  background: rgba(243, 233, 223, 0.14);
}

.jl-product-quantity button {
  display: grid;
  place-items: center;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.jl-product-quantity input {
  width: 40px;
  padding: 0;
  background: transparent;
  text-align: center;
  appearance: textfield;
}

.jl-product-quantity input::-webkit-outer-spin-button,
.jl-product-quantity input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.jl-product-buy__button {
  padding: 0 18px;
  background: #c64251;
  cursor: pointer;
  text-transform: uppercase;
  white-space: nowrap;
}

.jl-product-buy__button:hover,
.jl-product-buy__button:focus-visible,
.jl-product-quantity button:hover,
.jl-product-quantity button:focus-visible {
  background: rgba(198, 66, 81, 0.82);
}

.jl-product-gallery__main:focus-visible,
.jl-product-gallery__thumb:focus-visible,
.jl-product-buy__button:focus-visible,
.jl-product-quantity button:focus-visible,
.jl-product-quantity input:focus-visible,
.jl-product-option input:focus-visible {
  outline: 2px solid var(--jl-light);
  outline-offset: -3px;
}

.jl-product-info {
  display: grid;
  gap: 28px;
  margin-top: 34px;
  padding: 30px 34px 34px;
  background: #221d1b;
  color: var(--jl-light);
}

.jl-product-info__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
  gap: 28px;
}

.jl-product-info__block h2 {
  margin: 0 0 12px;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
}

.jl-product-info__block p,
.jl-product-info__block li {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 20px;
  line-height: 1.35;
}

.jl-product-info__block p + p {
  margin-top: 18px;
}

.jl-product-info__block ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jl-product-info__block li {
  position: relative;
  padding-left: 20px;
}

.jl-product-info__block li::before {
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
  background: rgba(243, 233, 223, 0.42);
}

@media (max-width: 1185.98px) {
  .projects-redesign .jl-hero,
  .accessories-redesign .jl-hero,
  .product-redesign .jl-hero {
    min-height: 330px;
  }
  .projects-redesign .jl-hero__content,
  .accessories-redesign .jl-hero__content,
  .product-redesign .jl-hero__content {
    padding-top: 24px;
    padding-bottom: 20px;
  }
  .jl-projects-page-title,
  .jl-accessories-page-title {
    min-height: 90px;
  }
  .jl-projects-page-title h2,
  .jl-accessories-page-title h2 {
    font-size: 48px;
  }
  .jl-accessories-filter {
    justify-content: flex-start;
    gap: 12px 24px;
    padding: 4px 24px 25px;
  }
  .jl-accessories-filter__button {
    font-size: 18px;
  }
  .jl-meat-catalog__grid,
  .jl-accessories-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .jl-meat-card h3 {
    font-size: 24px;
  }
  .jl-meat-card__details p {
    font-size: 17px;
  }
  .jl-meat-card__details strong {
    font-size: 22px;
  }
  .jl-meat-card__accessory-panel strong {
    font-size: 22px;
  }
  .jl-product-detail {
    padding: 28px 24px 56px;
  }
  .jl-product-breadcrumb {
    gap: 12px;
    margin-bottom: 20px;
    font-size: 25px;
  }
  .jl-product-detail__top {
    grid-template-columns: minmax(0, 1fr);
  }
  .jl-product-order h2 {
    font-size: 34px;
  }
  .jl-product-info__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
}
@media (max-width: 575.98px) {
  .projects-redesign .jl-hero,
  .accessories-redesign .jl-hero,
  .product-redesign .jl-hero {
    min-height: 247px;
  }
  .projects-redesign .jl-hero__content,
  .accessories-redesign .jl-hero__content,
  .product-redesign .jl-hero__content {
    padding-top: 0.85rem;
    padding-bottom: 16px;
  }
  .projects-redesign .jl-hero__nav-link.is-current::after,
  .accessories-redesign .jl-hero__nav-link.is-current::after,
  .product-redesign .jl-hero__nav-link.is-current::after {
    display: none;
  }
  .jl-projects-page-title,
  .jl-accessories-page-title {
    min-height: 82px;
  }
  .jl-projects-page-title h2,
  .jl-accessories-page-title h2 {
    font-size: 42px;
  }
  .jl-accessories-filter {
    gap: 10px 18px;
    min-height: 0;
    padding: 0 16px 24px;
  }
  .jl-accessories-filter__button {
    min-height: 30px;
    font-size: 16px;
  }
  .jl-meat-catalog__grid,
  .jl-accessories-catalog__grid {
    grid-template-columns: 1fr;
  }
  .jl-meat-card {
    aspect-ratio: 1;
  }
  .jl-meat-card h3 {
    margin-right: 10px;
    margin-left: 10px;
    font-size: 22px;
  }
  .jl-meat-card__details {
    min-height: 108px;
    margin-right: 10px;
    margin-left: 10px;
    padding-right: 76px;
  }
  .jl-meat-card__accessory-panel {
    min-height: 108px;
    margin-right: 10px;
    margin-left: 10px;
    padding-right: 76px;
  }
  .jl-meat-card__accessory-panel h3 {
    margin-right: 0;
    margin-left: 0;
    font-size: 20px;
    line-height: 1.14;
  }
  .jl-meat-card__details p {
    font-size: 17px;
  }
  .jl-meat-card__details strong {
    font-size: 22px;
  }
  .jl-meat-card__accessory-panel strong {
    font-size: 22px;
  }
  .jl-meat-card__cart {
    right: 24px;
    bottom: 20px;
    width: 44px;
    height: 44px;
  }
  .jl-product-detail {
    padding: 24px 16px 44px;
  }
  .jl-product-breadcrumb {
    gap: 8px;
    margin-bottom: 18px;
    font-size: 21px;
  }
  .jl-product-detail__top {
    gap: 14px;
  }
  .jl-product-gallery__thumbs {
    gap: 8px;
  }
  .jl-product-order {
    padding: 22px 16px 20px;
  }
  .jl-product-order h2 {
    margin-bottom: 20px;
    font-size: 30px;
  }
  .jl-product-options {
    gap: 10px;
    margin-bottom: 22px;
  }
  .jl-product-options legend {
    font-size: 18px;
  }
  .jl-product-option {
    font-size: 17px;
  }
  .jl-product-buy {
    grid-template-columns: 1fr;
    gap: 2px;
    background: transparent;
  }
  .jl-product-buy__price,
  .jl-product-buy__button,
  .jl-product-quantity button,
  .jl-product-quantity input {
    min-height: 49px;
    font-size: 20px;
  }
  .jl-product-buy__price {
    justify-content: center;
    white-space: normal;
  }
  .jl-product-quantity {
    grid-template-columns: 1fr 72px 1fr;
  }
  .jl-product-quantity input {
    width: 72px;
  }
  .jl-product-info {
    gap: 24px;
    margin-top: 20px;
    padding: 24px 16px 26px;
  }
  .jl-product-info__block h2 {
    font-size: 18px;
  }
  .jl-product-info__block p,
  .jl-product-info__block li {
    font-size: 18px;
  }
}
.recipes-redesign {
  background: var(--jl-bg);
}

.recipes-redesign .site-main {
  gap: 0;
  background: var(--jl-bg);
}

.recipes-redesign .site-footer {
  margin-top: 0;
}

.recipes-redesign .jl-hero {
  min-height: 365px;
}

.recipes-redesign .jl-hero__content {
  padding-top: 24px;
  padding-bottom: 24px;
}

.recipes-redesign .jl-hero__image {
  object-position: center 30%;
}

.recipes-redesign .jl-hero__shade {
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.04) 0%, rgba(232, 219, 202, 0) 54%, rgba(24, 24, 26, 0.18) 100%);
}

@media (max-width: 575.98px) {
  .recipes-redesign .jl-hero__image {
    object-position: center 46%;
  }
}
.jl-recipes-page,
.jl-recipe-detail {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  background: var(--jl-bg);
  color: var(--jl-light);
  font-family: var(--jl-mono);
}

.jl-recipes-page {
  padding-bottom: 10px;
}

.jl-recipes-page__head {
  display: grid;
  gap: 22px;
  min-height: 160px;
  place-items: center;
  padding: 32px 32px 28px;
}

.jl-recipes-page__head h2 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 50px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.jl-recipes-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 32px;
}

.jl-recipes-filter__button {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(243, 233, 223, 0.55);
  background: transparent;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  cursor: pointer;
}

.jl-recipes-filter__button:hover,
.jl-recipes-filter__button:focus-visible,
.jl-recipes-filter__button.is-current {
  color: var(--jl-light);
  border-bottom-color: #c64251;
}

.jl-recipes-page__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.jl-recipe-card--listing {
  aspect-ratio: 0.94;
  min-height: 0;
}

.jl-recipe-card--listing.is-hidden {
  display: none;
}

.jl-recipe-card--listing > a > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jl-recipe-detail {
  padding: 34px 40px 72px;
}

.jl-recipe-breadcrumb {
  margin-bottom: 22px;
}

.jl-recipe-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(400px, 0.98fr);
  gap: 20px;
  align-items: start;
}

.jl-recipe-gallery {
  position: relative;
  overflow: hidden;
  background: #0f0f10;
}

.jl-recipe-gallery__slide {
  display: block;
  aspect-ratio: 1;
  color: inherit;
  text-decoration: none;
}

.jl-recipe-gallery__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jl-recipe-gallery__controls {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 18px;
  left: 18px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  transform: translateY(-50%);
}

.jl-recipe-gallery__controls .jl-slider__arrow {
  width: 51px;
  height: 51px;
  background: rgba(20, 0, 0, 0.8);
  pointer-events: auto;
}

.jl-recipe-content {
  padding: 26px 28px 30px;
  background: rgba(20, 0, 0, 0.8);
  color: var(--jl-light);
}

.jl-recipe-content h2 {
  margin: 0 0 18px;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 38px;
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: 0;
}

.jl-recipe-content__lead {
  margin: 0 0 24px;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 20px;
  line-height: 1.35;
}

.jl-recipe-facts {
  display: grid;
  gap: 12px;
  margin: 0 0 28px;
}

.jl-recipe-facts div {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 12px;
}

.jl-recipe-facts dt,
.jl-recipe-facts dd {
  margin: 0;
  color: var(--jl-light);
  font-size: 17px;
  line-height: 1.25;
}

.jl-recipe-facts dt {
  font-weight: 600;
}

.jl-recipe-facts dd {
  font-family: var(--jl-serif);
}

.jl-recipe-text-block {
  margin-top: 26px;
}

.jl-recipe-text-block h3 {
  margin: 0 0 14px;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}

.jl-recipe-text-block ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jl-recipe-text-block li {
  position: relative;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 19px;
  line-height: 1.32;
}

.jl-recipe-text-block ul li {
  padding-left: 20px;
}

.jl-recipe-text-block ul li::before {
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
  background: rgba(243, 233, 223, 0.42);
}

.jl-recipe-steps {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jl-recipe-steps li {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.jl-recipe-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 10px;
  background: #c64251;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 16px;
  line-height: 1;
  text-transform: uppercase;
}

.jl-recipe-steps p {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 19px;
  line-height: 1.32;
}

@media (max-width: 1185.98px) {
  .recipes-redesign .jl-hero {
    min-height: 330px;
  }
  .recipes-redesign .jl-hero__content {
    padding-top: 24px;
    padding-bottom: 20px;
  }
  .jl-recipes-page__head {
    min-height: 142px;
  }
  .jl-recipes-page__head h2 {
    font-size: 48px;
  }
  .jl-recipes-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .jl-recipe-detail {
    padding: 28px 24px 56px;
  }
  .jl-recipe-detail__layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .jl-recipe-content h2 {
    font-size: 34px;
  }
}
@media (max-width: 575.98px) {
  .recipes-redesign .jl-hero {
    min-height: 247px;
  }
  .recipes-redesign .jl-hero__content {
    padding-top: 0.85rem;
    padding-bottom: 16px;
  }
  .jl-recipes-page__head {
    gap: 18px;
    min-height: 130px;
    padding: 26px 16px 24px;
  }
  .jl-recipes-page__head h2 {
    font-size: 42px;
  }
  .jl-recipes-filter {
    justify-content: flex-start;
    gap: 10px 18px;
  }
  .jl-recipes-filter__button {
    min-height: 30px;
    font-size: 16px;
  }
  .jl-recipes-page__grid {
    grid-template-columns: 1fr;
  }
  .jl-recipe-card--listing {
    aspect-ratio: 0.9;
  }
  .jl-recipe-detail {
    padding: 24px 16px 44px;
  }
  .jl-recipe-breadcrumb {
    margin-bottom: 18px;
  }
  .jl-recipe-detail__layout {
    gap: 14px;
  }
  .jl-recipe-gallery__controls {
    right: 12px;
    left: 12px;
  }
  .jl-recipe-gallery__controls .jl-slider__arrow {
    width: 45px;
    height: 45px;
  }
  .jl-recipe-content {
    padding: 22px 16px 24px;
  }
  .jl-recipe-content h2 {
    font-size: 30px;
  }
  .jl-recipe-content__lead {
    font-size: 18px;
  }
  .jl-recipe-facts div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
  }
  .jl-recipe-facts dt,
  .jl-recipe-facts dd {
    font-size: 16px;
  }
  .jl-recipe-text-block h3 {
    font-size: 19px;
  }
  .jl-recipe-text-block li,
  .jl-recipe-steps p {
    font-size: 18px;
  }
  .jl-recipe-steps li {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .jl-recipe-steps span {
    justify-self: start;
  }
}
.reviews-redesign {
  --jl-page-title: 90px;
}

.reviews-redesign .site-main {
  gap: 10px;
  background: var(--jl-bg);
}

.reviews-redesign .site-footer {
  margin-top: 10px;
}

.reviews-redesign .jl-hero {
  min-height: 365px;
}

.reviews-redesign .jl-hero__content {
  padding-top: 24px;
  padding-bottom: 24px;
}

.reviews-redesign .jl-hero__image {
  object-position: center 30%;
}

@media (max-width: 575.98px) {
  .reviews-redesign .jl-hero__image {
    object-position: center 46%;
  }
}
.reviews-redesign .jl-hero__shade {
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.04) 0%, rgba(232, 219, 202, 0) 54%, rgba(24, 24, 26, 0.18) 100%);
}

.jl-reviews-page-title,
.jl-reviews-page {
  width: min(100%, 1280px);
  margin-inline: auto;
  background: var(--jl-bg);
  color: var(--jl-light);
  font-family: var(--jl-mono);
}

.jl-reviews-page-title {
  display: grid;
  min-height: var(--jl-page-title);
  place-items: center;
}

.jl-reviews-page-title h2 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 50px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}

.jl-reviews-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 397px;
  gap: 36px;
  align-items: start;
  padding: 0 30px 40px;
}

.jl-reviews-page__list {
  display: grid;
  gap: 18px;
}

.jl-review--page {
  min-height: 0;
  padding: 30px;
  border: 1px solid rgba(243, 233, 223, 0.14);
  background: #18181a;
}

.jl-review--page p {
  margin-bottom: 0;
  font-size: 21px;
}

.jl-review--page .jl-review__photos {
  flex-wrap: wrap;
  margin: 22px 0 24px;
}

.jl-review--page .jl-review__photos a,
.jl-review--page .jl-review__photos img {
  width: 64px;
}

.jl-review-form {
  position: sticky;
  top: 24px;
  padding: 28px 25px 24px;
  background: #221d1b;
  color: var(--jl-light);
}

.jl-review-form h3 {
  margin: 0 0 24px;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 27px;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
}

.jl-review-form form {
  display: grid;
  gap: 14px;
}

.jl-review-form label {
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 16px;
  line-height: 1.2;
}

.jl-review-form input:not([type=file]),
.jl-review-form textarea {
  width: 100%;
  border: 1px solid rgba(243, 233, 223, 0.22);
  border-radius: 0;
  background: rgba(243, 233, 223, 0.08);
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 16px;
  line-height: 1.25;
}

.jl-review-form input:not([type=file]) {
  height: 50px;
  padding: 0 14px;
}

.jl-review-form textarea {
  min-height: 118px;
  padding: 12px 14px;
  resize: vertical;
}

.jl-review-form input:focus,
.jl-review-form textarea:focus {
  border-color: rgba(243, 233, 223, 0.78);
  outline: 0;
}

.jl-review-form input.is-field-invalid:not([type=file]),
.jl-review-form textarea.is-field-invalid {
  border-color: #d95646;
  box-shadow: 0 0 0 2px rgba(217, 86, 70, 0.24);
}

.jl-review-form__upload {
  display: grid;
  min-height: 112px;
  place-items: center;
  gap: 8px;
  padding: 18px;
  border: 1px dashed rgba(243, 233, 223, 0.32);
  background: rgba(243, 233, 223, 0.1);
  text-align: center;
  cursor: pointer;
}

.jl-review-form__upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.jl-review-form__upload span {
  font-family: var(--jl-serif);
  font-size: 20px;
}

.jl-review-form__upload small {
  color: rgba(243, 233, 223, 0.74);
  font-family: var(--jl-serif);
  font-size: 13px;
  line-height: 1.2;
}

.jl-review-form button {
  justify-self: center;
  min-width: 230px;
  min-height: 52px;
  padding: 0 22px;
  border: 0;
  background: #f3e9df;
  color: var(--jl-bg);
  font-family: var(--jl-mono);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}

.jl-review-form button:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.jl-review-form.is-submitting button {
  cursor: wait;
}

.jl-review-form p {
  margin: 18px 0 0;
  color: rgba(243, 233, 223, 0.82);
  font-family: var(--jl-serif);
  font-size: 14px;
  line-height: 1.25;
  text-align: center;
}

.jl-review-form a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.jl-review-form__message {
  padding: 12px 14px;
  border: 1px solid rgba(243, 233, 223, 0.22);
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 14px;
  line-height: 1.3;
}

.jl-review-form__message[hidden] {
  display: none;
}

.jl-review-form__message--success {
  border-color: rgba(130, 174, 108, 0.62);
  background: rgba(130, 174, 108, 0.18);
}

.jl-review-form__message--error {
  border-color: rgba(217, 86, 70, 0.72);
  background: rgba(217, 86, 70, 0.16);
}

.jl-review-form__message--info {
  border-color: rgba(243, 233, 223, 0.42);
  background: rgba(243, 233, 223, 0.1);
}

@media (max-width: 1185.98px) {
  .reviews-redesign .jl-hero {
    min-height: 310px;
  }
  .reviews-redesign .jl-hero__content {
    padding-bottom: 20px;
  }
  .jl-reviews-page-title {
    min-height: 78px;
  }
  .jl-reviews-page-title h2 {
    font-size: 42px;
  }
  .jl-reviews-page {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 24px;
    padding-inline: 24px;
  }
  .jl-review--page {
    padding: 24px;
  }
  .jl-review--page p {
    font-size: 20px;
  }
}
@media (max-width: 767.98px) {
  .jl-reviews-page {
    grid-template-columns: 1fr;
  }
  .jl-review-form {
    position: static;
    order: 2;
  }
}
@media (max-width: 575.98px) {
  .reviews-redesign .jl-hero {
    min-height: 247px;
  }
  .reviews-redesign .jl-hero__content {
    padding-top: 0.85rem;
    padding-bottom: 16px;
  }
  .jl-reviews-page-title {
    min-height: 70px;
  }
  .jl-reviews-page-title h2 {
    font-size: 34px;
  }
  .jl-reviews-page {
    gap: 16px;
    padding: 0 16px 28px;
  }
  .jl-reviews-page__list {
    gap: 12px;
  }
  .jl-review--page {
    padding: 20px 16px;
  }
  .jl-review--page .jl-review__meta {
    margin-bottom: 16px;
  }
  .jl-review--page p {
    font-size: 20px;
    line-height: 1.3;
  }
  .jl-review--page .jl-review__photos {
    margin: 18px 0 22px;
  }
  .jl-review--page .jl-review__photos a,
  .jl-review--page .jl-review__photos img {
    width: 58px;
  }
  .jl-review-form {
    padding: 24px 18px;
  }
  .jl-review-form h3 {
    font-size: 25px;
  }
  .jl-review-form button {
    width: 100%;
  }
}
.contacts-redesign {
  background: var(--jl-bg);
}

.contacts-redesign .site-main {
  gap: 0;
  background: var(--jl-bg);
}

.contacts-redesign .site-footer {
  margin-top: 0;
}

.contacts-redesign .jl-hero {
  min-height: 365px;
}

.contacts-redesign .jl-hero__content {
  padding-top: 24px;
  padding-bottom: 24px;
}

.contacts-redesign .jl-hero__image {
  object-position: center 30%;
}

@media (max-width: 575.98px) {
  .contacts-redesign .jl-hero__image {
    object-position: center 46%;
  }
}
.contacts-redesign .jl-hero__shade {
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.04) 0%, rgba(232, 219, 202, 0) 54%, rgba(24, 24, 26, 0.18) 100%);
}

.contacts-redesign .jl-hero__nav-link.is-current {
  position: relative;
}

.contacts-redesign .jl-hero__nav-link.is-current::after {
  position: absolute;
  right: 0;
  bottom: 11px;
  left: 0;
  height: 3px;
  content: "";
  background: #c64251;
}

.jl-contacts-page-title,
.jl-contacts-page {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  font-family: var(--jl-mono);
}

.jl-contacts-page-title {
  display: grid;
  min-height: 100px;
  place-items: center;
  background: var(--jl-bg);
  color: var(--jl-light);
  box-shadow: 0 0 0 100vmax var(--jl-bg);
  clip-path: inset(0 -100vmax);
}

.jl-contacts-page-title h2 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 50px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.jl-contacts-page {
  overflow: hidden;
  background: var(--jl-bg);
  color: var(--jl-light);
}

.jl-contacts-page__bar {
  min-height: 296px;
  padding: 39px 40px 43px;
  background: var(--jl-panel);
  box-shadow: 0 0 0 100vmax var(--jl-panel);
  clip-path: inset(0 -100vmax);
}

.jl-contacts-page__phone,
.jl-contacts-page__email,
.jl-contacts-page__route {
  display: inline-flex;
  width: fit-content;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.jl-contacts-page__phone,
.jl-contacts-page__email {
  font-size: 30px;
}

.jl-contacts-page__phone:hover,
.jl-contacts-page__email:hover,
.jl-contacts-page__route:hover {
  color: var(--jl-light);
}

.jl-contacts-page__email-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 27px;
  margin-top: 36px;
}

.jl-contacts-page__email-row .jl-social {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  border: 1px solid var(--jl-light);
  background: var(--jl-light);
  color: var(--jl-bg) !important;
}

.jl-contacts-page__email-row .jl-social::before {
  width: 25px;
  height: 25px;
}

.jl-contacts-page__address {
  margin: 28px 0 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}

.jl-contacts-page__route {
  margin-top: 12px;
  font-size: 26px;
}

.jl-contacts-page__map {
  height: 500px;
  border-top: 10px solid var(--jl-bg);
  box-shadow: 0 0 0 100vmax var(--jl-bg);
  clip-path: inset(0 -100vmax);
}

.jl-contacts-page__map.jl-map-frame {
  background-color: #e7dfd4;
}

@media (max-width: 1185.98px) {
  .contacts-redesign .jl-hero {
    min-height: 330px;
  }
  .contacts-redesign .jl-hero__content {
    padding-top: 24px;
    padding-bottom: 20px;
  }
  .jl-contacts-page-title {
    min-height: 90px;
  }
  .jl-contacts-page-title h2 {
    font-size: 48px;
  }
  .jl-contacts-page__bar {
    min-height: 284px;
    padding: 36px 32px 40px;
  }
  .jl-contacts-page__phone,
  .jl-contacts-page__email,
  .jl-contacts-page__address {
    font-size: 28px;
  }
  .jl-contacts-page__route {
    font-size: 24px;
  }
  .jl-contacts-page__map {
    height: 470px;
  }
}
@media (max-width: 575.98px) {
  .contacts-redesign .jl-hero {
    min-height: 247px;
  }
  .contacts-redesign .jl-hero__content {
    padding-top: 0.85rem;
    padding-bottom: 16px;
  }
  .contacts-redesign .jl-hero__nav-link.is-current::after {
    display: none;
  }
  .jl-contacts-page-title {
    min-height: 82px;
  }
  .jl-contacts-page-title h2 {
    font-size: 42px;
  }
  .jl-contacts-page__bar {
    min-height: 0;
    padding: 31px 16px 37px;
  }
  .jl-contacts-page__phone,
  .jl-contacts-page__email,
  .jl-contacts-page__address {
    font-size: 24px;
    line-height: 1.25;
  }
  .jl-contacts-page__email-row {
    gap: 10px;
    margin-top: 29px;
  }
  .jl-contacts-page__email {
    flex: 0 0 100%;
  }
  .jl-contacts-page__email-row .jl-social {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
  }
  .jl-contacts-page__email-row .jl-social::before {
    width: 22px;
    height: 22px;
  }
  .jl-contacts-page__address {
    margin-top: 29px;
  }
  .jl-contacts-page__route {
    margin-top: 13px;
    font-size: 20px;
  }
  .jl-contacts-page__map {
    height: 360px;
  }
}
.order-redesign {
  background: var(--jl-bg);
}

.order-redesign .site-main {
  gap: 10px;
  background: var(--jl-bg);
}

.order-redesign .site-footer {
  margin-top: 0;
}

.order-redesign .jl-hero {
  min-height: 365px;
}

.order-redesign .jl-hero__content {
  padding-top: 24px;
  padding-bottom: 24px;
}

.order-redesign .jl-hero__image {
  object-position: center 30%;
}

.order-redesign .jl-hero__shade {
  background: linear-gradient(180deg, rgba(232, 219, 202, 0.04) 0%, rgba(232, 219, 202, 0) 54%, rgba(24, 24, 26, 0.18) 100%);
}

.jl-order-title,
.jl-order,
.jl-order-success {
  width: min(100%, 1280px);
  margin-inline: auto;
  background: var(--jl-bg);
  color: var(--jl-light);
  font-family: var(--jl-mono);
}

.jl-order-title {
  display: grid;
  min-height: 90px;
  place-items: center;
}

.jl-order-title h2 {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 50px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.jl-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 397px;
  gap: 36px;
  align-items: start;
  padding: 0 40px 64px;
}

.jl-order__items {
  display: grid;
  gap: 10px;
}

.jl-order-empty {
  padding: 28px;
  border: 1px solid rgba(243, 233, 223, 0.14);
  background: #18181a;
  color: rgba(243, 233, 223, 0.86);
  font-family: var(--jl-serif);
  font-size: 20px;
  line-height: 1.35;
}

.jl-order-item {
  display: grid;
  grid-template-columns: 160px minmax(170px, 1fr) 124px 132px 38px;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(243, 233, 223, 0.14);
  background: #18181a;
  color: var(--jl-light);
}

.jl-order-item__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 1;
  background: #0f0f10;
  color: inherit;
  text-decoration: none;
}

.jl-order-item__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.jl-order-item__media:hover img {
  filter: brightness(1.08) saturate(1.03);
  transform: scale(1.025);
}

.jl-order-item__body {
  min-width: 0;
}

.jl-order-item__body h3 {
  margin: 0 0 14px;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.jl-order-item__body p {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 18px;
  line-height: 1.28;
}

.jl-order-item__body p + p {
  margin-top: 5px;
}

.jl-order-item__quantity {
  display: grid;
  grid-template-columns: 38px 48px 38px;
  background: rgba(243, 233, 223, 0.1);
}

.jl-order-item__quantity button,
.jl-order-item__quantity input {
  min-height: 50px;
  border: 0;
  background: transparent;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.jl-order-item__quantity button {
  display: grid;
  place-items: center;
  cursor: pointer;
}

.jl-order-item__quantity input {
  width: 48px;
  padding: 0;
  appearance: textfield;
}

.jl-order-item__quantity input::-webkit-outer-spin-button,
.jl-order-item__quantity input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.jl-order-item__price {
  display: grid;
  gap: 8px;
  justify-items: start;
}

.jl-order-item__price strong {
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  white-space: nowrap;
}

.jl-order-item__price span {
  color: rgba(243, 233, 223, 0.78);
  font-family: var(--jl-serif);
  font-size: 16px;
  line-height: 1.2;
}

.jl-order-item__remove {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 2px solid var(--jl-light);
  border-radius: 0;
  background: transparent;
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.jl-order-total {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  padding: 20px 22px;
  background: #221d1b;
  color: var(--jl-light);
}

.jl-order-total span {
  font-family: var(--jl-serif);
  font-size: 20px;
  line-height: 1.2;
}

.jl-order-total strong {
  font-family: var(--jl-mono);
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.jl-order-form {
  position: sticky;
  top: 24px;
  padding: 28px 25px 24px;
  background: #221d1b;
  color: var(--jl-light);
}

.jl-order-form h3 {
  margin: 0 0 24px;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 27px;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
}

.jl-order-form form {
  display: grid;
  gap: 14px;
}

.jl-order-form label {
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 16px;
  line-height: 1.2;
}

.jl-order-form input,
.jl-order-form textarea {
  width: 100%;
  border: 1px solid rgba(243, 233, 223, 0.22);
  border-radius: 0;
  background: rgba(243, 233, 223, 0.08);
  color: var(--jl-light);
  font-family: var(--jl-mono);
  font-size: 16px;
  line-height: 1.25;
}

.jl-order-form input {
  height: 50px;
  padding: 0 14px;
}

.jl-order-form textarea {
  min-height: 108px;
  padding: 12px 14px;
  resize: vertical;
}

.jl-order-form input:focus,
.jl-order-form textarea:focus {
  border-color: rgba(243, 233, 223, 0.78);
  outline: 0;
}

.jl-order-form input.is-field-invalid,
.jl-order-form textarea.is-field-invalid {
  border-color: #d95646;
  box-shadow: 0 0 0 2px rgba(217, 86, 70, 0.24);
}

.jl-order-form__privacy {
  margin: 2px 0 0 !important;
}

.jl-order-form__privacy a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.jl-order-form__message {
  padding: 12px 14px;
  border: 1px solid rgba(243, 233, 223, 0.22);
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 14px;
  line-height: 1.3;
  text-align: left;
}

.jl-order-form__message[hidden] {
  display: none;
}

.jl-order-form__message--success {
  border-color: rgba(130, 174, 108, 0.62);
  background: rgba(130, 174, 108, 0.18);
}

.jl-order-form__message--error {
  border-color: rgba(217, 86, 70, 0.72);
  background: rgba(217, 86, 70, 0.16);
}

.jl-order-form__message--info {
  border-color: rgba(243, 233, 223, 0.42);
  background: rgba(243, 233, 223, 0.1);
}

.jl-order-form button,
.jl-order-success__panel a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  border: 0;
  background: #f3e9df;
  color: var(--jl-bg);
  font-family: var(--jl-mono);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.jl-order-form button {
  width: 100%;
  margin-top: 4px;
  cursor: pointer;
}

.jl-order-form button:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.jl-order-form.is-submitting button {
  cursor: wait;
}

.jl-order-form p {
  margin: 18px 0 0;
  color: rgba(243, 233, 223, 0.82);
  font-family: var(--jl-serif);
  font-size: 14px;
  line-height: 1.25;
  text-align: center;
}

.jl-order-item__media:focus-visible,
.jl-order-item__quantity button:focus-visible,
.jl-order-item__quantity input:focus-visible,
.jl-order-item__remove:focus-visible,
.jl-order-form button:focus-visible,
.jl-order-success__panel a:focus-visible {
  outline: 2px solid var(--jl-light);
  outline-offset: 3px;
}

.jl-order-success {
  display: grid;
  min-height: 310px;
  place-items: start center;
  padding: 0 40px 64px;
}

.jl-order-success__panel {
  width: min(100%, 574px);
  padding: 32px 40px 30px;
  background: #221d1b;
  color: var(--jl-light);
}

.jl-order-success__panel p {
  margin: 0;
  color: var(--jl-light);
  font-family: var(--jl-serif);
  font-size: 21px;
  line-height: 1.28;
}

.jl-order-success__panel p + p {
  margin-top: 18px;
}

.jl-order-success__panel strong {
  font-family: var(--jl-mono);
  font-weight: 600;
}

.jl-order-success__panel a {
  min-width: 190px;
  margin-top: 26px;
  padding: 0 24px;
}

@media (max-width: 1185.98px) {
  .order-redesign .jl-hero {
    min-height: 310px;
  }
  .order-redesign .jl-hero__content {
    padding-bottom: 20px;
  }
  .jl-order-title {
    min-height: 78px;
  }
  .jl-order-title h2 {
    font-size: 42px;
  }
  .jl-order {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 0 24px 52px;
  }
  .jl-order-form {
    position: static;
    width: min(100%, 520px);
    margin-inline: auto;
  }
  .jl-order-item {
    grid-template-columns: 138px minmax(190px, 1fr) 146px 156px 42px;
    gap: 16px;
  }
  .jl-order-item__body h3 {
    font-size: 22px;
  }
  .jl-order-item__price strong {
    font-size: 24px;
  }
  .jl-order-success {
    padding: 0 24px 52px;
  }
}
@media (max-width: 767.98px) {
  .jl-order-item {
    grid-template-columns: 116px minmax(0, 1fr) 42px;
    grid-template-areas: "media body remove" "quantity quantity quantity" "price price price";
    align-items: start;
  }
  .jl-order-item__media {
    grid-area: media;
  }
  .jl-order-item__body {
    grid-area: body;
  }
  .jl-order-item__quantity {
    grid-area: quantity;
  }
  .jl-order-item__price {
    grid-area: price;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 14px;
    text-align: right;
  }
  .jl-order-item__remove {
    grid-area: remove;
  }
}
@media (max-width: 575.98px) {
  .order-redesign .jl-hero {
    min-height: 247px;
  }
  .order-redesign .jl-hero__content {
    padding-top: 0.85rem;
    padding-bottom: 16px;
  }
  .order-redesign .jl-hero__image {
    object-position: center 46%;
  }
  .jl-order-title {
    min-height: 70px;
  }
  .jl-order-title h2 {
    font-size: 34px;
  }
  .jl-order {
    gap: 18px;
    padding: 0 16px 36px;
  }
  .jl-order-item {
    grid-template-columns: 96px minmax(0, 1fr) 36px;
    gap: 12px;
    padding: 14px;
  }
  .jl-order-item__body h3 {
    margin-bottom: 10px;
    font-size: 19px;
  }
  .jl-order-item__body p {
    font-size: 15px;
  }
  .jl-order-item__quantity {
    grid-template-columns: 36px 48px 36px;
  }
  .jl-order-item__quantity button,
  .jl-order-item__quantity input {
    min-height: 44px;
    font-size: 22px;
  }
  .jl-order-item__quantity input {
    width: 48px;
  }
  .jl-order-item__price {
    gap: 10px;
  }
  .jl-order-item__price strong {
    font-size: 20px;
  }
  .jl-order-item__price span {
    font-size: 13px;
  }
  .jl-order-item__remove {
    width: 32px;
    height: 32px;
    font-size: 20px;
  }
  .jl-order-total {
    justify-content: space-between;
    gap: 16px;
    padding: 18px 16px;
  }
  .jl-order-total strong {
    font-size: 26px;
  }
  .jl-order-form {
    padding: 24px 18px;
  }
  .jl-order-form h3 {
    font-size: 25px;
  }
  .jl-order-success {
    min-height: 280px;
    padding: 0 16px 38px;
  }
  .jl-order-success__panel {
    padding: 26px 20px 24px;
  }
  .jl-order-success__panel p {
    font-size: 20px;
  }
}
.privacy-hero {
  position: relative;
  overflow: hidden;
}

.privacy-hero::after {
  position: absolute;
  inset: auto -9rem -13rem auto;
  width: 28rem;
  height: 28rem;
  content: "";
  border: 1px solid var(--aa-line);
  border-radius: 43%;
  pointer-events: none;
  transform: rotate(16deg);
}

.privacy-hero .container-xxl {
  position: relative;
  z-index: 1;
}

.privacy-hero__lead {
  max-width: 52rem;
  color: color-mix(in srgb, var(--aa-ink) 72%, transparent);
}

.privacy-meta,
.privacy-panel {
  border: 1px solid var(--aa-line);
  box-shadow: var(--aa-shadow);
}

.privacy-meta {
  padding: 1.4rem 1.5rem;
  border-radius: var(--bs-border-radius-lg);
  background: color-mix(in srgb, var(--aa-white) 82%, transparent);
}

.privacy-meta span {
  display: block;
  margin-bottom: 0.55rem;
  color: var(--aa-gold-deep);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.privacy-meta strong {
  display: block;
  font-size: 1.35rem;
  font-weight: 600;
}

.privacy-panel {
  max-width: 72rem;
  margin: 0 auto;
  padding: clamp(1.4rem, 4vw, 3rem);
  border-radius: var(--bs-border-radius-xl);
  background: color-mix(in srgb, var(--aa-white) 86%, var(--aa-paper));
}

.privacy-block {
  padding: 1.35rem 0;
}

.privacy-block:first-child {
  padding-top: 0;
}

.privacy-block + .privacy-block {
  border-top: 1px solid var(--aa-line);
}

.privacy-block:last-child {
  padding-bottom: 0;
}

.privacy-block h2 {
  margin-bottom: 0.75rem;
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.18;
}

.privacy-block p {
  max-width: 58rem;
  margin: 0;
  color: color-mix(in srgb, var(--aa-ink) 72%, transparent);
  font-size: 1.05rem;
}

.privacy-block p + p {
  margin-top: 0.85rem;
}

.privacy-block ul {
  display: grid;
  gap: 0.65rem;
  max-width: 60rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.privacy-block li {
  position: relative;
  padding-left: 1.35rem;
  color: color-mix(in srgb, var(--aa-ink) 74%, transparent);
  font-size: 1.02rem;
  line-height: 1.55;
}

.privacy-block li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.42rem;
  height: 0.42rem;
  content: "";
  border-radius: 50%;
  background: var(--aa-gold);
}

.privacy-block__note {
  margin-top: 1rem !important;
  padding: 1rem 1.1rem;
  border: 1px solid color-mix(in srgb, var(--aa-gold-deep) 28%, transparent);
  border-radius: var(--bs-border-radius-sm);
  background: var(--aa-gold-soft);
  color: color-mix(in srgb, var(--aa-ink) 78%, transparent) !important;
  font-weight: 600;
}
