/* Source: index.html inline style 1, original line 251 */
.gs-dropdown {
  display: none;
}

:root {
  --bg-0: #0c0c0f;
  --bg-1: #0c0c0f;
  --bg-2: #0c0c0f;
  --surface: #0c0c0f;
  --surface-2: #141418;
  --card: #141418;
  --border: rgba(255, 255, 255, 0.06);
  --border-h: rgba(255, 255, 255, 0.12);
  --t1: #ededf0;
  --t2: #8e8e9a;
  --t3: #5a5a66;
  --accent: #20a3e0;
  --accent-h: #20a3e0;
  --accent-bg: #20a3e018;
  --accent-border: #20a3e033;
  --accent-glow: #20a3e055;
  --accent-dim: #20a3e026;
  --danger: #ff4d6a;
  --success: #34d399;
  --font: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: "Sora", -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", monospace;
  --max-w: 1680px;
  --gap: 24px;
  --r: 16px;
  --r-sm: 10px;
  --r-xs: 6px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --transition: 0.5s var(--ease-out-expo);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-family: var(--font);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.65;
  color: var(--t2);
  background: var(--bg-0);
  overflow-x: hidden;
  min-height: 100vh;
}
img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}
input,
select,
textarea {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  outline: none;
}
ul,
ol {
  list-style: none;
}
::selection {
  background: var(--accent-dim);
  color: var(--t1);
}
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: var(--bg-0);
}
::-webkit-scrollbar-thumb {
  background: var(--border-h);
  border-radius: 3px;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px 256px;
}

.wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gap);
}
.sec {
  padding: 100px 0;
}
.sec--alt {
  background: transparent;
  border: none;
}
.sec--sm {
  padding: 56px 0;
}
.label {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.label::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent);
  opacity: 0.5;
}
.section-header {
  margin-bottom: 64px;
}
.section-header .label {
  margin-bottom: 24px;
  font-size: 13px;
}
.section-header h2 {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  color: var(--t1);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

h1 {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--t1);
  line-height: 1.1;
}
h2 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--t1);
  line-height: 1.2;
}
h3 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--t1);
  line-height: 1.3;
  font-size: 1.15rem;
}
h4 {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--t1);
  line-height: 1.3;
  font-size: 0.95rem;
}
.price {
  font-family: var(--mono);
  font-weight: 600;
  color: var(--accent);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: var(--r-sm);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: all var(--transition);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}
.btn--accent {
  background: var(--accent);
  color: var(--bg-0);
}
.btn--accent:hover {
  background: var(--accent-h);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px var(--accent-glow);
}
.btn--glass {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border);
  color: var(--t1);
  backdrop-filter: blur(12px);
}
.btn--glass:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--border-h);
  transform: translateY(-2px);
}
.btn--ghost {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--t2);
}
.btn--ghost:hover {
  border-color: var(--border-h);
  color: var(--t1);
  background: rgba(255, 255, 255, 0.03);
}
.btn--sm {
  padding: 8px 18px;
  font-size: 13px;
}
.btn--lg {
  padding: 16px 36px;
  font-size: 15px;
}
.btn--full {
  width: 100%;
}
.btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.header {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: 88px;
  display: flex;
  align-items: center;
  background: transparent !important;
}
.header.scrolled {
}
.header__inner {
  width: 100%;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.header__brand {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--t1);
  letter-spacing: -0.01em;
}
.header__logo {
  width: auto;
  border-radius: var(--r-xs);
  filter: drop-shadow(0 0 10px var(--accent-glow));
}
.header__monogram {
  width: 38px;
  height: 38px;
  border-radius: var(--r-xs);
  background: var(--accent);
  color: var(--bg-0);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  filter: drop-shadow(0 0 10px var(--accent-glow));
}
.header__brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.header__brand-sub {
  font-size: 11px;
  font-weight: 500;
  color: var(--accent);
  letter-spacing: 0.02em;
}
.header__nav {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-self: center;
  background: linear-gradient(
    170deg,
    rgba(18, 18, 24, 0.7) 0%,
    rgba(10, 10, 14, 0.6) 100%
  );
  backdrop-filter: blur(20px) saturate(1.15);
  -webkit-backdrop-filter: blur(20px) saturate(1.15);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-top-color: rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 6px;
  box-shadow:
    0 1px 0 0 rgba(255, 255, 255, 0.04) inset,
    0 -1px 0 0 rgba(0, 0, 0, 0.15) inset,
    0 2px 6px -1px rgba(0, 0, 0, 0.2),
    0 8px 24px -4px rgba(0, 0, 0, 0.25),
    0 20px 50px -10px rgba(0, 0, 0, 0.2);
  position: relative;
}
.header__nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.01em;
  transition: all 0.3s var(--ease);
  position: relative;
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid transparent;
}
.header__nav a svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  stroke: currentColor;
}
.header__nav a:hover {
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.04);
}
.header__nav a.active {
  color: var(--t1);
  background: linear-gradient(
    170deg,
    color-mix(in srgb, var(--accent) 12%, rgba(255, 255, 255, 0.05)),
    color-mix(in srgb, var(--accent) 6%, rgba(255, 255, 255, 0.02))
  );
  border-color: color-mix(
    in srgb,
    var(--accent) 14%,
    rgba(255, 255, 255, 0.06)
  );
  box-shadow:
    0 1px 0 0 rgba(255, 255, 255, 0.05) inset,
    0 0 10px color-mix(in srgb, var(--accent) 8%, transparent);
}
.header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-self: end;
}

.header__nav-item {
  position: relative;
}
.header__nav-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-4px);
  min-width: 180px;
  background: #111116;
  border: 1px solid var(--border-h);
  border-radius: var(--r-sm);
  padding: 6px;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.15s var(--ease),
    transform 0.15s var(--ease),
    visibility 0.15s;
  z-index: 1001;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
}
.header__nav-item:hover .header__nav-dropdown,
.header__nav-item.open .header__nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.header__nav-dropdown a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px !important;
  border-radius: 6px;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--t2) !important;
  transition: all 0.2s var(--ease);
  white-space: nowrap;
  text-decoration: none;
  border: none !important;
}
.header__nav-dropdown a:hover {
  color: var(--t1) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}
.header__nav-divider {
  width: 1px;
  height: 20px;
  background: var(--border-h);
  margin: 0 4px;
  flex-shrink: 0;
}
.header__nav-chevron {
  width: 10px;
  height: 10px;
  opacity: 0.35;
  margin-left: -4px;
  transition: transform 0.2s var(--ease);
}
.header__nav-item:hover .header__nav-chevron,
.header__nav-item.open .header__nav-chevron {
  transform: rotate(180deg);
}

.header__socials {
  display: flex;
  align-items: center;
  gap: 2px;
}
.header__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  color: var(--t3);
  transition:
    color 0.3s var(--ease),
    background 0.3s var(--ease);
  text-decoration: none;
}
.header__social-link:hover {
  color: var(--t1);
  background: rgba(255, 255, 255, 0.05);
}
.header__social-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.header__currency-wrap {
  position: relative;
}
.header__currency {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 50px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.02);
  font-size: 13px;
  font-weight: 600;
  color: var(--t1);
  cursor: pointer;
  transition: all 0.25s var(--ease);
  font-family: var(--font-display);
  user-select: none;
  letter-spacing: 0.04em;
}
.header__currency:hover {
  border-color: var(--border-h);
  background: rgba(255, 255, 255, 0.04);
}
.header__currency svg {
  width: 11px;
  height: 11px;
  opacity: 0.4;
  transition: transform 0.2s var(--ease);
}
.header__currency-wrap.open .header__currency {
  border-color: var(--border-h);
  background: rgba(255, 255, 255, 0.05);
}
.header__currency-wrap.open .header__currency svg {
  transform: rotate(180deg);
}
.header__currency-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%) translateY(-4px);
  min-width: 140px;
  background: #111116;
  border: 1px solid var(--border-h);
  border-radius: var(--r-sm);
  padding: 6px;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.15s var(--ease),
    transform 0.15s var(--ease),
    visibility 0.15s;
  z-index: 1001;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
}
.header__currency-wrap.open .header__currency-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.header__currency-dropdown a {
  display: block;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--t3);
  border-radius: var(--r-xs);
  transition: all 0.15s var(--ease);
  font-family: var(--font-display);
  letter-spacing: 0.04em;
  text-align: center;
}
.header__currency-dropdown a:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--t1);
}
.header__currency-dropdown a.active {
  color: var(--accent);
  background: var(--accent-bg);
}
.header__login {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  color: var(--t1);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.3s var(--ease);
}
.header__login:hover {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.07);
}
.header__login.is-authenticated {
  padding-left: 7px;
}
.header__login.is-authenticated .header__avatar {
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.header__login svg.header__chevron,
.header__login i.header__chevron {
  width: 12px;
  height: 12px;
  opacity: 0.4;
  transition: transform 0.3s var(--ease);
}
.header__user-wrap {
  position: relative;
}
.header__user-wrap .header__login {
  cursor: pointer;
}
.header__user-wrap.open .header__login svg.header__chevron,
.header__user-wrap.open .header__login i.header__chevron,
.header__user-wrap.has-account-menu:hover .header__login svg.header__chevron,
.header__user-wrap.has-account-menu:hover .header__login i.header__chevron,
.header__user-wrap.has-account-menu:focus-within .header__login svg.header__chevron,
.header__user-wrap.has-account-menu:focus-within .header__login i.header__chevron {
  transform: rotate(180deg);
}
.header__user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  background: #13131a;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-sm);
  padding: 6px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition:
    opacity 0.2s var(--ease),
    transform 0.2s var(--ease),
    visibility 0.2s;
  z-index: 1001;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}
.header__user-wrap.open .header__user-dropdown,
.header__user-wrap.has-account-menu:hover .header__user-dropdown,
.header__user-wrap.has-account-menu:focus-within .header__user-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.header__user-dropdown a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--t2);
  border-radius: 6px;
  transition: all 0.2s var(--ease);
}
.header__user-dropdown a:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--t1);
}
.header__user-dropdown a svg,
.header__user-dropdown a i {
  width: 15px;
  height: 15px;
  opacity: 0.5;
  flex-shrink: 0;
  text-align: center;
}
.header__user-dropdown hr {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  margin: 4px 0;
}
.header__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.header__avatar-fallback {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  flex-shrink: 0;
}
.header__cart {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0;
  height: 42px;
  border-radius: 0;
  background: none;
  border: none;
  color: #fff;
  transition: opacity 0.3s var(--ease);
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
}
.header__cart:hover {
  opacity: 0.7;
}
.header__cart svg {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

.header__shop-group {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  height: 42px;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.05);
}
.header__shop-group .header__wishlist {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: none;
  border: none;
  color: #fff;
  transition: opacity 0.3s var(--ease);
  cursor: pointer;
}
.header__shop-group .header__wishlist:hover {
  opacity: 0.7;
}
.header__shop-group .header__wishlist svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.wl-nav-badge {
  position: absolute;
  top: -4px;
  right: -6px;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  background: var(--accent);
  color: #fff;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bg-0);
  line-height: 1;
  z-index: 2;
}

.loy-dropdown-badge {
  margin-left: auto;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  color: #0c0c0f;
  padding: 2px 7px;
  border-radius: 5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.header__cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  background: var(--danger);
  color: #fff;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bg-0);
}
.header__hamburger {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-xs);
  transition: background 0.3s var(--ease);
}
.header__hamburger:hover {
  background: rgba(255, 255, 255, 0.05);
}
.header__hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--t1);
  border-radius: 1px;
  position: relative;
  transition: all 0.3s var(--ease);
}
.header__hamburger span::before,
.header__hamburger span::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--t1);
  border-radius: 1px;
  left: 0;
  transition: all 0.3s var(--ease);
}
.header__hamburger span::before {
  top: -7px;
}
.header__hamburger span::after {
  top: 7px;
}
.header__hamburger.active span {
  background: transparent;
}
.header__hamburger.active span::before {
  top: 0;
  transform: rotate(45deg);
}
.header__hamburger.active span::after {
  top: 0;
  transform: rotate(-45deg);
}

.mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(7, 7, 10, 0.96);
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 2px;
  padding: 88px 20px 32px;
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.4s var(--ease-out-expo),
    visibility 0.4s var(--ease-out-expo);
}
.mobile-nav.open {
  opacity: 1;
  visibility: visible;
}
.mobile-nav::-webkit-scrollbar {
  width: 3px;
}
.mobile-nav::-webkit-scrollbar-track {
  background: transparent;
}
.mobile-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
}
.mobile-nav > a,
.mobile-nav > .mobile-nav__group {
  transform: translateY(16px);
  opacity: 0;
  transition:
    transform 0.45s var(--ease-out-expo),
    opacity 0.45s var(--ease-out-expo);
}
.mobile-nav.open > a,
.mobile-nav.open > .mobile-nav__group {
  transform: translateY(0);
  opacity: 1;
}
.mobile-nav > *:nth-child(1) {
  transition-delay: 0.04s;
}
.mobile-nav > *:nth-child(2) {
  transition-delay: 0.08s;
}
.mobile-nav > *:nth-child(3) {
  transition-delay: 0.12s;
}
.mobile-nav > *:nth-child(4) {
  transition-delay: 0.16s;
}
.mobile-nav > *:nth-child(5) {
  transition-delay: 0.2s;
}
.mobile-nav > *:nth-child(6) {
  transition-delay: 0.24s;
}
.mobile-nav > *:nth-child(7) {
  transition-delay: 0.28s;
}
.mobile-nav > *:nth-child(8) {
  transition-delay: 0.32s;
}
.mobile-nav > *:nth-child(9) {
  transition-delay: 0.36s;
}
.mobile-nav > *:nth-child(n + 10) {
  transition-delay: 0.4s;
}
.mobile-nav a {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--t2);
  padding: 14px 18px;
  border-radius: var(--r-sm);
  transition:
    color 0.25s var(--ease),
    background 0.25s var(--ease);
  display: block;
}
.mobile-nav a:hover {
  color: var(--t1);
  background: rgba(255, 255, 255, 0.03);
}
.mobile-nav__group {
  display: flex;
  flex-direction: column;
  border-radius: var(--r-sm);
}
.mobile-nav__parent {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--t2) !important;
  padding: 14px 18px !important;
  cursor: pointer !important;
  letter-spacing: 0.01em;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}
.mobile-nav__parent:hover {
  color: var(--t1) !important;
  background: rgba(255, 255, 255, 0.03);
}
.mobile-nav__parent::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.3s var(--ease-out-expo);
  margin-right: 4px;
  opacity: 0.6;
}
.mobile-nav__group.open .mobile-nav__parent {
  color: var(--accent) !important;
}
.mobile-nav__group.open .mobile-nav__parent::after {
  transform: rotate(45deg);
  opacity: 1;
}
.mobile-nav__sublist {
  display: flex;
  flex-direction: column;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s var(--ease-out-expo);
}
.mobile-nav__group.open .mobile-nav__sublist {
  max-height: 600px;
}
.mobile-nav__subcat {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--t3) !important;
  padding: 10px 18px 10px 32px !important;
  position: relative;
}
.mobile-nav__subcat::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.4;
  transform: translateY(-50%);
}
.mobile-nav__subcat:hover {
  color: var(--t1) !important;
  background: rgba(255, 255, 255, 0.03);
}
.mobile-nav__search {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  padding: 14px 18px !important;
  margin-bottom: 8px;
  border-radius: var(--r-sm);
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--t3) !important;
}
.mobile-nav__search:hover {
  border-color: var(--border-h);
  color: var(--t2) !important;
}
.mobile-nav__divider {
  height: 1px;
  background: var(--border);
  margin: 10px 18px;
}

.toast {
  position: fixed;
  top: 96px;
  right: var(--gap);
  z-index: 1100;
  padding: 14px 22px;
  border-radius: var(--r-sm);
  font-size: 13.5px;
  font-weight: 500;
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--t1);
  animation: toastIn 0.5s var(--ease-out-expo) forwards;
  max-width: 380px;
}
.toast--success {
  border-color: rgba(52, 211, 153, 0.3);
  background: rgba(52, 211, 153, 0.08);
}
.toast--error {
  border-color: rgba(255, 77, 106, 0.3);
  background: rgba(255, 77, 106, 0.08);
}
@keyframes toastIn {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.hero {
  position: relative;
  display: flex;
  align-items: flex-start;
  text-align: left;
  overflow: hidden;
  padding: 180px 0 100px;
}
.hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(
    to bottom,
    rgba(7, 7, 10, 0) 0%,
    rgba(7, 7, 10, 0.25) 30%,
    rgba(7, 7, 10, 0.65) 60%,
    rgba(7, 7, 10, 1) 100%
  );
  z-index: 2;
  pointer-events: none;
}
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__bg-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero__bg-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bg-0);
  opacity: calc(var(--bg-overlay, 60) / 100);
}
.hero__gradient {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 60% 60% at 70% 40%,
      var(--accent-dim) 0%,
      transparent 70%
    ),
    radial-gradient(
      ellipse 50% 50% at 80% 30%,
      rgba(100, 80, 200, 0.06) 0%,
      transparent 60%
    ),
    radial-gradient(
      ellipse 40% 40% at 60% 50%,
      rgba(200, 100, 80, 0.04) 0%,
      transparent 60%
    ),
    linear-gradient(
      180deg,
      var(--bg-0) 0%,
      transparent 30%,
      transparent 70%,
      var(--bg-0) 100%
    );
}
.hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(
    ellipse 70% 60% at 50% 50%,
    black 20%,
    transparent 70%
  );
  -webkit-mask-image: radial-gradient(
    ellipse 70% 60% at 50% 50%,
    black 20%,
    transparent 70%
  );
}
.hero__orb {
  position: absolute;
  width: 600px;
  height: 600px;
  top: -10%;
  right: -5%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);
  filter: blur(80px);
  opacity: 0.3;
  animation: orbDrift 20s ease-in-out infinite alternate;
  pointer-events: none;
}
.hero__orb-2 {
  position: absolute;
  width: 300px;
  height: 300px;
  bottom: 20%;
  right: 15%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(100, 80, 200, 0.15) 0%,
    transparent 70%
  );
  filter: blur(60px);
  opacity: 0.2;
  animation: orbDrift2 15s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes orbDrift {
  0% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(-10%, 10%) scale(1.1);
  }
  66% {
    transform: translate(5%, -5%) scale(0.95);
  }
  100% {
    transform: translate(-5%, 5%) scale(1.05);
  }
}
@keyframes orbDrift2 {
  0% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(-15%, -10%) scale(1.15);
  }
  100% {
    transform: translate(10%, 5%) scale(0.9);
  }
}
.hero__content {
  position: relative;
  z-index: 1;
  max-width: var(--max-w);
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--gap);
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
}
.hero__content--has-image {
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
.hero__text {
  min-width: 0;
}
.hero__image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateX(60px) scale(0.95);
  animation: heroImageIn 1s var(--ease-out-expo) 0.5s forwards;
}
.hero__image img {
  width: 100%;
  height: auto;
  border-radius: var(--r);
  filter: drop-shadow(0 24px 64px rgba(0, 0, 0, 0.4));
}
.hero__image::before {
  content: "";
  position: absolute;
  inset: -20%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);
  filter: blur(40px);
  opacity: 0.2;
  z-index: -1;
}
@keyframes heroImageIn {
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 10px 28px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.06);
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 600;
  color: var(--accent);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 32px;
  backdrop-filter: blur(12px);
}
.hero__title {
  font-size: clamp(3rem, 8vw, 7rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.95;
  text-transform: uppercase;
  margin-bottom: 32px;
}
.hero__title-line {
  display: block;
}
.hero__title-accent {
  background: var(--accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 32px var(--accent-glow));
}

.hero--wave .hero__title-accent {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='200'%3E%3Cpath d='M0,30 Q55,5 110,30 Q165,55 220,30 L220,60 Q165,85 110,60 Q55,35 0,60 Z' fill='white' fill-opacity='0.22'/%3E%3Cpath d='M0,100 Q55,75 110,100 Q165,125 220,100 L220,130 Q165,155 110,130 Q55,105 0,130 Z' fill='white' fill-opacity='0.16'/%3E%3Cpath d='M0,170 Q55,145 110,170 Q165,195 220,170 L220,200 Q165,225 110,200 Q55,175 0,200 Z' fill='white' fill-opacity='0.2'/%3E%3C/svg%3E")
      repeat 0 0,
    var(--accent);
  background-size:
    220px 200px,
    100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: waveFlow 5s linear infinite;
}
@keyframes waveFlow {
  0% {
    background-position:
      0 0,
      0 0;
  }
  100% {
    background-position:
      -220px 0,
      0 0;
  }
}

.hero--ocean .hero__title-accent {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='80'%3E%3Cpath d='M0,20 Q50,2 100,20 Q150,38 200,20 Q250,2 300,20 Q350,38 400,20 L400,48 Q350,66 300,48 Q250,30 200,48 Q150,66 100,48 Q50,30 0,48 Z' fill='white' fill-opacity='0.25'/%3E%3C/svg%3E")
      repeat 0 0,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='70'%3E%3Cpath d='M0,18 Q37,2 75,18 Q112,34 150,18 Q187,2 225,18 Q262,34 300,18 L300,42 Q262,58 225,42 Q187,26 150,42 Q112,58 75,42 Q37,26 0,42 Z' fill='white' fill-opacity='0.17'/%3E%3C/svg%3E")
      repeat 0 0,
    var(--accent);
  background-size:
    400px 80px,
    300px 70px,
    100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: oceanSwell 8s ease-in-out infinite;
}
@keyframes oceanSwell {
  0% {
    background-position:
      0 0,
      0 0,
      0 0;
  }
  25% {
    background-position:
      -100px 8px,
      -75px -6px,
      0 0;
  }
  50% {
    background-position:
      -200px 0,
      -150px 0,
      0 0;
  }
  75% {
    background-position:
      -300px -8px,
      -225px 6px,
      0 0;
  }
  100% {
    background-position:
      -400px 0,
      -300px 0,
      0 0;
  }
}

.hero--shimmer .hero__title-accent {
  background: linear-gradient(
    105deg,
    var(--accent) 0%,
    var(--accent) 35%,
    color-mix(in srgb, var(--accent) 60%, #fff) 50%,
    var(--accent) 65%,
    var(--accent) 100%
  );
  background-size: 250% 100%;
  background-position: 100% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmerFlow 4s ease-in-out infinite;
}
@keyframes shimmerFlow {
  0%,
  100% {
    background-position: 100% center;
  }
  50% {
    background-position: 0% center;
  }
}

.hero--gleam .hero__title-accent {
  background: linear-gradient(
    120deg,
    var(--accent) 0%,
    var(--accent) 42%,
    #fff 50%,
    var(--accent) 58%,
    var(--accent) 100%
  );
  background-size: 300% 100%;
  background-position: 100% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gleamFlow 5s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
@keyframes gleamFlow {
  0% {
    background-position: 100% center;
  }
  30%,
  100% {
    background-position: -50% center;
  }
}
.hero__subtitle {
  font-size: clamp(1.05rem, 2.2vw, 1.3rem);
  color: var(--t2);
  max-width: 600px;
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 44px;
}
.hero__buttons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 56px;
  flex-wrap: wrap;
}
.hero__stats {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 32px;
}
.hero__stat {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}
.hero__stat:not(:last-child)::after {
  content: "\00b7";
  position: absolute;
  right: -20px;
  color: var(--t3);
  font-size: 1.5rem;
  line-height: 1;
}
.hero__stat-value {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--t1);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.hero__stat-value[data-count-to] {
  filter: blur(4px);
  opacity: 0;
  transform: translateY(6px);
  transition:
    filter 0.6s ease,
    opacity 0.6s ease,
    transform 0.6s ease;
}
.hero__stat-value.counted {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}
.hero__stat-label {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--t3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 0.5s ease 0.3s,
    transform 0.5s ease 0.3s;
}
.hero__stat-value.counted ~ .hero__stat-label {
  opacity: 1;
  transform: translateY(0);
}
.hero__scroll {
  position: absolute;
  right: var(--gap);
  bottom: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--t3);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  z-index: 3;
}
.hero__scroll-line {
  width: 1px;
  height: 32px;
  background: linear-gradient(180deg, var(--accent) 0%, transparent 100%);
  animation: scrollLine 2s ease-in-out infinite;
}
@keyframes scrollLine {
  0%,
  100% {
    opacity: 0.3;
    transform: scaleY(1);
  }
  50% {
    opacity: 0.8;
    transform: scaleY(1.3);
    transform-origin: top;
  }
}

.hero__anim {
  opacity: 0;
  transform: translateY(24px);
  animation: heroFadeUp 0.8s var(--ease-out-expo) forwards;
}
.hero__anim--1 {
  animation-delay: 0.1s;
}
.hero__anim--2 {
  animation-delay: 0.16s;
}
.hero__anim--3 {
  animation-delay: 0.22s;
}
.hero__anim--4 {
  animation-delay: 0.28s;
}
.hero__anim--5 {
  animation-delay: 0.4s;
}
@keyframes heroFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
  transition: all 0.5s var(--ease-out-expo);
}
.card:hover {
  transform: translateY(-6px);
  border-color: var(--accent-border);
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.4),
    0 0 0 1px var(--accent-border);
}
.card__img {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--bg-1);
}
.card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease-out-expo);
}
.card:hover .card__img img {
  transform: scale(1.05);
}
.card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 12px;
  border-radius: 100px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.card__badge--sale {
  background: rgba(255, 77, 106, 0.15);
  color: var(--danger);
  border: 1px solid rgba(255, 77, 106, 0.2);
}
.card__badge--free {
  background: rgba(52, 211, 153, 0.15);
  color: var(--success);
  border: 1px solid rgba(52, 211, 153, 0.2);
}
.card__badge--featured {
  background: var(--accent-bg);
  color: var(--accent);
  border: 1px solid var(--accent-border);
}
.card__body {
  padding: 20px;
}
.card__cat {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--t3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.card__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--t1);
  margin-bottom: 12px;
  line-height: 1.3;
}
.card__price {
  font-family: var(--mono);
  font-weight: 600;
  color: var(--accent);
  font-size: 1rem;
}
.card__price--old {
  font-size: 0.8rem;
  color: var(--t3);
  text-decoration: line-through;
  margin-right: 8px;
  font-weight: 400;
}
.card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s var(--ease-out-expo);
  backdrop-filter: blur(4px);
}
.card:hover .card__overlay {
  opacity: 1;
}
.card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

@property --border-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.features-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.feature-item {
  padding: 40px 36px;
  text-align: center;
  border-left: 1px solid var(--border);
  transition: background 0.4s var(--ease-out-expo);
}
.feature-item:first-child {
  border-left: none;
}
.feature-item:hover {
  background: var(--surface);
}
.feature-item__num {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 4rem);
  font-weight: 800;
  color: var(--accent);
  opacity: 0.45;
  line-height: 1;
  margin-bottom: 28px;
  transition: opacity 0.4s var(--ease-out-expo);
}
.feature-item:hover .feature-item__num {
  opacity: 0.7;
}
.feature-item h3 {
  font-size: 1.2rem;
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.feature-item p {
  font-size: 14px;
  color: var(--t3);
  line-height: 1.7;
}
@media (max-width: 768px) {
  .features-list {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .feature-item {
    border-left: none;
    border-top: 1px solid var(--border);
    padding: 32px 24px;
  }
  .feature-item:first-child {
    border-top: none;
  }
}

.reviews-carousel {
  overflow: hidden;
  position: relative;
  padding: 8px 0;
}
.reviews-carousel::before,
.reviews-carousel::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.reviews-carousel::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg-0) 0%, transparent 100%);
}
.reviews-carousel::after {
  right: 0;
  background: linear-gradient(270deg, var(--bg-0) 0%, transparent 100%);
}
.reviews-track {
  display: flex;
  gap: 24px;
  width: max-content;
  animation: reviewsScroll var(--reviews-duration, 40s) linear infinite;
}
.reviews-carousel:hover .reviews-track {
  animation-play-state: paused;
}
@keyframes reviewsScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-1 * var(--reviews-scroll-w, 50%)));
  }
}
.review-card {
  position: relative;
  flex: 0 0 380px;
  padding: 32px;
  border-radius: var(--r);
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid transparent;
  background-clip: padding-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition:
    transform 0.4s var(--ease-out-expo),
    box-shadow 0.4s var(--ease-out-expo);
}
.review-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--r);
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.12) 0%,
    rgba(255, 255, 255, 0.03) 50%,
    var(--accent-border) 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.review-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
}
.review-card__stars {
  display: flex;
  gap: 2px;
  color: #ffd700 !important;
  margin-bottom: 20px;
}
.review-card__stars svg {
  width: 15px;
  height: 15px;
  fill: #ffd700 !important;
}
.review-card__text {
  position: relative;
  font-size: 15px;
  line-height: 1.8;
  color: var(--t2);
  font-weight: 400;
  flex: 1;
  margin-bottom: 24px;
}
.review-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}
img.review-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--border);
}
.review-card__avatar--letter {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--bg-0);
  flex-shrink: 0;
}
.review-card__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--t1);
}
.review-card__role {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--t3);
  margin-top: 2px;
}

.faq-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  align-items: start;
}
.faq-item {
  background: linear-gradient(165deg, var(--surface-2) 0%, var(--card) 100%);
  border: 1px solid var(--border);
  border-radius: var(--r);
  transition: border-color 0.4s ease;
}
.faq-item:hover {
  border-color: var(--accent);
}
.faq-item[open] {
  border-color: var(--accent);
}
.faq-item summary {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 32px 32px;
  cursor: pointer;
  list-style: none;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::marker {
  display: none;
  content: "";
}
.faq-num {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 800;
  color: var(--accent);
  opacity: 0.15;
  line-height: 1;
  flex-shrink: 0;
  min-width: 40px;
  transition: opacity 0.4s ease;
}
.faq-item:hover .faq-num,
.faq-item[open] .faq-num {
  opacity: 0.4;
}
.faq-question {
  flex: 1;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--t1);
  line-height: 1.4;
  padding-top: 4px;
}
.faq-chevron {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: var(--t3);
  margin-top: 4px;
  transition:
    transform 0.4s var(--ease-out-expo),
    color 0.3s ease;
}
.faq-item[open] .faq-chevron {
  transform: rotate(180deg);
  color: var(--accent);
}
.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s var(--ease-out-expo);
}
.faq-answer__inner {
  overflow: hidden;
}
.faq-answer p {
  padding: 0 32px 28px 92px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--t2);
}

.modules-area {
  display: flex;
  flex-direction: column;
}
.modules-area .ticker {
  margin: 0;
  padding: 20px 0;
}

.ticker {
  overflow: hidden;
  position: relative;
  padding: 20px 0;
  margin-top: -20px;
}
.ticker::before,
.ticker::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.ticker::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg-0) 0%, transparent 100%);
}
.ticker::after {
  right: 0;
  background: linear-gradient(270deg, var(--bg-0) 0%, transparent 100%);
}
.ticker__track {
  display: flex;
  gap: 16px;
  animation: tickerScroll 45s linear infinite;
  width: max-content;
}
.ticker:hover .ticker__track {
  animation-play-state: paused;
}
@keyframes tickerScroll {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
.ticker__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border-radius: 100px;
  background: var(--surface);
  border: 1px solid var(--border);
  white-space: nowrap;
  flex-shrink: 0;
}
.ticker__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--bg-1);
}
.ticker__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ticker__initial {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--accent-bg);
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  flex-shrink: 0;
}
.ticker__name {
  font-size: 13px;
  font-weight: 500;
  color: var(--t1);
}
.ticker__pkg {
  font-size: 12px;
  color: var(--t3);
}
.ticker__price {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
}

.top-donator {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-radius: var(--r);
  background: var(--surface);
  border: 1px solid var(--border);
}
.top-donator__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--accent-bg);
  flex-shrink: 0;
}
.top-donator__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-donator__name {
  font-weight: 600;
  font-size: 14px;
  color: var(--t1);
}
.top-donator__amount {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--accent);
}

.goal-card {
  padding: 24px;
  border-radius: var(--r);
  background: var(--surface);
  border: 1px solid var(--border);
}
.goal-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  font-size: 13px;
}
.goal-card__header span:first-child {
  color: var(--t1);
  font-weight: 600;
}
.goal-card__header span:last-child {
  color: var(--t3);
  font-family: var(--mono);
  font-size: 12px;
}
.goal-bar {
  height: 8px;
  border-radius: 100px;
  background: var(--bg-1);
  overflow: hidden;
}
.goal-bar__fill {
  height: 100%;
  border-radius: 100px;
  background: var(--accent);
  box-shadow: 0 0 16px var(--accent-glow);
  transition: width 1s var(--ease-out-expo);
}

.giftcard {
  padding: 24px;
  border-radius: var(--r);
  background: var(--surface);
  border: 1px solid var(--border);
}
.giftcard h4 {
  margin-bottom: 16px;
}
.giftcard__form {
  display: flex;
  gap: 8px;
}
.giftcard__input {
  flex: 1;
  padding: 10px 14px;
  border-radius: var(--r-sm);
  border: 1px solid var(--border);
  background: var(--bg-1);
  color: var(--t1);
  font-size: 13.5px;
}
.giftcard__input:focus {
  border-color: var(--accent-border);
}
.giftcard__result {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: var(--r-sm);
  font-size: 13.5px;
  font-weight: 500;
}
.giftcard__result--valid {
  background: rgba(52, 211, 153, 0.08);
  color: var(--success);
  border: 1px solid rgba(52, 211, 153, 0.2);
}
.giftcard__result--void {
  background: rgba(255, 77, 106, 0.08);
  color: var(--danger);
  border: 1px solid rgba(255, 77, 106, 0.2);
}
.giftcard__result--empty {
  background: var(--surface-2);
  color: var(--t2);
  border: 1px solid var(--border);
}

.textbox {
  padding: 24px;
  border-radius: var(--r);
  background: var(--surface);
  border: 1px solid var(--border);
}
.textbox h4 {
  margin-bottom: 12px;
}
.textbox p {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.6;
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.flagship-products {
  position: relative;
  max-width: var(--max-w);
  width: 100%;
  margin: 0 auto;
  padding: 54px 0 36px;
  isolation: isolate;
}
.flagship-products::before {
  content: "";
  position: absolute;
  inset: -24px -16px auto;
  height: 360px;
  z-index: -1;
  pointer-events: none;
  background-size:
    auto,
    auto;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 86%);
}
.flagship-products__header {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.55fr);
  align-items: end;
  gap: clamp(28px, 8vw, 112px);
  margin-bottom: 38px;
}
.flagship-products__title .label {
  margin-bottom: 18px;
}
.flagship-products__title h2 {
  max-width: 820px;
  font-size: clamp(2.35rem, 5.5vw, 5.65rem);
  font-weight: 800;
  line-height: 0.98;
  color: #fff;
  letter-spacing: 0;
}
.flagship-products__intro {
  max-width: 540px;
  justify-self: end;
  padding-bottom: 10px;
  font-size: clamp(14px, 1.45vw, 17px);
  line-height: 1.75;
  color: rgba(237, 237, 240, 0.62);
}
.flagship-products__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 536px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 44%),
    rgba(20, 20, 24, 0.82);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
  transition:
    transform 0.5s var(--ease-out-expo),
    border-color 0.5s var(--ease-out-expo),
    box-shadow 0.5s var(--ease-out-expo);
}
.product-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    145deg,
    rgba(32, 163, 224, 0.1),
    transparent 32%,
    transparent 72%,
    rgba(255, 255, 255, 0.035)
  );
  opacity: 0.55;
}
.product-card:hover {
  transform: translateY(-6px);
  border-color: rgba(32, 163, 224, 0.28);
  box-shadow:
    0 34px 80px rgba(0, 0, 0, 0.45),
    0 0 36px rgba(32, 163, 224, 0.08);
}
.product-card__media {
  position: relative;
  display: block;
  height: 270px;
  overflow: hidden;
  color: inherit;
  background:
    radial-gradient(circle at 50% 35%, rgba(32, 163, 224, 0.14), transparent 34%),
    #0d1118;
  background-size:
    auto,
    auto;
}
.product-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 44%;
  pointer-events: none;
  background: linear-gradient(to top, rgba(20, 20, 24, 0.96), transparent);
}
.product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.9) saturate(0.94);
  transition:
    transform 0.7s var(--ease-out-expo),
    filter 0.7s var(--ease-out-expo);
}
.product-card:hover .product-card__media img {
  transform: scale(1.035);
  filter: brightness(1) saturate(1);
}
.product-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid rgba(32, 163, 224, 0.36);
  border-radius: 999px;
  background: rgba(5, 15, 22, 0.72);
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.product-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}
.product-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  color: rgba(237, 237, 240, 0.36);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.product-card h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.2rem, 1.6vw, 1.7rem);
  line-height: 1.16;
  letter-spacing: 0;
}
.product-card p {
  margin: 0;
  max-width: 58ch;
  color: rgba(237, 237, 240, 0.62);
  font-size: 14.5px;
  line-height: 1.75;
}
.product-card__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-top: auto;
  padding-top: 34px;
}
.product-card__price-block {
  display: grid;
  gap: 3px;
}
.product-card__price-label {
  color: rgba(237, 237, 240, 0.34);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.product-card__price {
  color: var(--accent);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}
.product-card__price span {
  color: rgba(237, 237, 240, 0.76);
  font-family: var(--font);
  font-size: 13px;
  font-weight: 700;
}
.product-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  min-width: 118px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    background 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease,
    transform 0.35s ease;
}
.product-card__button i {
  font-size: 11px;
  line-height: 1;
}
.product-card__button:hover {
  border-color: var(--accent);
  background: var(--accent);
  color: #061018;
  transform: translateY(-2px);
  text-decoration: none;
}
.product-card--large .product-card__button {
  border-color: rgba(32, 163, 224, 0.82);
  background: var(--accent);
  color: #061018;
}
.product-card__button--disabled {
  cursor: default;
  opacity: 0.58;
  pointer-events: none;
}
.product-card__media--dispatch {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 30%, rgba(32, 163, 224, 0.2), transparent 31%),
    #0b1017;
  background-size:
    auto,
    auto;
}
.dispatch-preview {
  position: absolute;
  inset: 58px 42px 38px;
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: 1fr 62px;
  gap: 12px;
  opacity: 0.95;
}
.dispatch-preview__rail,
.dispatch-preview__panel,
.dispatch-preview__map {
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.dispatch-preview__rail {
  grid-row: 1 / -1;
  background:
    linear-gradient(var(--accent), var(--accent)) center 20px / 14px 14px
      no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)) center
      54px / 18px 4px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)) center
      78px / 18px 4px no-repeat,
    rgba(255, 255, 255, 0.04);
}
.dispatch-preview__panel {
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(32, 163, 224, 0.16), transparent 42%),
    rgba(255, 255, 255, 0.04);
}
.dispatch-preview__panel span {
  color: rgba(237, 237, 240, 0.44);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.dispatch-preview__panel strong {
  margin-top: 6px;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.05;
  letter-spacing: 0;
}
.dispatch-preview__map {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 10px;
}
.dispatch-preview__map span {
  border-radius: 5px;
  background: rgba(32, 163, 224, 0.13);
}
@media (max-width: 1180px) {
  .flagship-products__header {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .flagship-products__intro {
    justify-self: start;
    padding-bottom: 0;
  }
  .flagship-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .flagship-products {
    padding: 34px 0 20px;
  }
  .flagship-products__header {
    margin-bottom: 26px;
  }
  .flagship-products__title h2 {
    font-size: clamp(2.15rem, 11vw, 3.65rem);
    line-height: 1.02;
  }
  .flagship-products__grid {
    grid-template-columns: 1fr;
  }
  .product-card,
  .product-card--large {
    min-height: auto;
    grid-column: auto;
  }
  .product-card__media,
  .product-card--large .product-card__media {
    height: clamp(230px, 68vw, 310px);
  }
  .product-card__body {
    padding: 20px;
  }
  .product-card__meta {
    flex-wrap: wrap;
    gap: 6px 14px;
  }
  .product-card__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
    padding-top: 28px;
  }
  .product-card__button {
    width: 100%;
  }
  .dispatch-preview {
    inset: 54px 24px 32px;
  }
}

.featured-section {
  overflow: hidden;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 48px;
  -webkit-mask: linear-gradient(
    90deg,
    transparent,
    white 6%,
    white 94%,
    transparent
  );
  mask: linear-gradient(90deg, transparent, white 6%, white 94%, transparent);
}
.featured-section .fp-header {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.featured-section.fp-visible .fp-header {
  opacity: 1;
  transform: translateY(0);
}
.fp-header {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
  padding: 0;
}
.fp-header h2 {
  position: relative;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--t1);
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.fp-header__sub {
  font-size: clamp(13px, 2vw, 15px);
  font-weight: 400;
  color: var(--accent);
  opacity: 0.8;
  margin-top: 10px;
}
.fp-scroll {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: fpMarquee var(--fp-duration, 35s) linear infinite reverse;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.fp-scroll:hover {
  animation-play-state: paused;
}
.fp-scroll.is-dragging {
  animation-play-state: paused !important;
  cursor: grabbing;
}
.fp-scroll.is-dragging .fp {
  pointer-events: none;
}
@keyframes fpMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-1 * var(--fp-scroll-w, 50%)));
  }
}
.fp {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 380px;
  border-radius: var(--r, 16px);
  overflow: hidden;
  background: linear-gradient(
    165deg,
    rgba(255, 255, 255, 0.035) 0%,
    var(--card, #141418) 50%
  );
  background-color: var(--card, #141418);
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--border);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    0 4px 24px -4px rgba(0, 0, 0, 0.35),
    0 1px 2px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.6s var(--ease-out-expo),
    border-color 0.6s var(--ease-out-expo),
    box-shadow 0.6s var(--ease-out-expo);
}
.fp::after {
  content: "";
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--accent, #d4a853),
    transparent
  );
  opacity: 0.4;
  z-index: 2;
  transition: opacity 0.5s var(--ease-out-expo);
}
.fp:hover {
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow:
    0 32px 64px -16px rgba(0, 0, 0, 0.5),
    0 8px 24px -8px rgba(0, 0, 0, 0.3),
    0 0 40px -10px rgba(var(--accent-rgb, 212, 168, 83), 0.08);
}
.fp:hover::after {
  opacity: 0.7;
}
.fp * {
  font-style: normal !important;
}

.fp__top-badge {
  display: none;
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 20;
  padding: 5px 12px;
  border-radius: var(--r-xs, 6px);
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  pointer-events: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.fp__top-badge.is-visible {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.fp__link {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
}
.fp__link:hover {
  text-decoration: none;
  color: inherit;
}

.fp__image-wrapper {
  position: relative;
  overflow: hidden;
  aspect-ratio: 2 / 1;
}
.fp__image-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(
    to top,
    var(--card, #141418) 0%,
    rgba(20, 20, 24, 0.4) 40%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}
.fp__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 0.8s var(--ease-out-expo),
    filter 0.8s var(--ease-out-expo);
  filter: brightness(0.85) saturate(0.95);
}
.fp__link:hover .fp__image {
  transform: scale(1.04);
  filter: brightness(1) saturate(1);
}

.fp__info {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 6px 16px;
  align-items: start;
  padding: 18px 22px 10px;
  width: 100%;
}
.fp__name {
  display: block;
  font-family: var(--font-display) !important;
  font-size: 19px;
  font-weight: 600;
  font-style: normal !important;
  color: var(--t1);
  margin: 0;
  line-height: 1.35;
  letter-spacing: -0.01em;
  transition: color 0.4s var(--ease-out-expo);
  grid-column: 1;
  grid-row: 1;
}
.fp__link:hover .fp__name {
  color: var(--accent);
}

.fp__tags {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  grid-column: 1;
  grid-row: 2;
}
.fp__tags:empty {
  display: none;
}

.fp__tag-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: var(--r-xs, 6px);
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font, "DM Sans", sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.1);
  color: var(--t1, #ededf0);
  line-height: 1.4;
  white-space: nowrap;
}

.fp__price-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  justify-self: end;
}
.fp__price-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.fp__price {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--t1);
  margin: 0;
  text-align: right;
  line-height: 1;
  letter-spacing: -0.02em;
}
.fp__price--sale {
  color: var(--danger, #ff4d6a);
}
.fp__price-original {
  font-family: var(--font);
  font-size: 14px;
  color: var(--t3, #5a5a66);
  text-decoration: line-through;
  font-weight: 500;
  line-height: 1;
}
.fp__discount-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--r-xs, 6px);
  background: linear-gradient(135deg, #ff6b81 0%, #ff4d6a 50%, #e83a56 100%);
  color: #fff;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  box-shadow:
    0 2px 8px rgba(255, 77, 106, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.fp__actions {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 14px 22px 22px;
  width: 100%;
  margin-top: auto;
}
.fp__actions-main {
  flex: 1;
}
.fp__btn-add {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  height: 3rem;
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: var(--t1);
  font-size: 0.8rem;
  font-weight: 700;
  font-family: var(--font);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--r-xs, 6px);
  cursor: pointer;
  transition: all 0.4s var(--ease-out-expo);
  text-decoration: none;
}
.fp__btn-add:hover {
  background-color: var(--accent);
  border-color: var(--accent);
  color: #0c0c0f;
  text-decoration: none;
}
.fp__btn-add svg {
  width: 14px;
  height: 14px;
  transition: transform 0.4s var(--ease-out-expo);
}
.fp__btn-add:hover svg {
  transform: scale(1.15);
}

.fp__btn-loading {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  height: 3rem;
  font-size: 0.8rem;
  font-weight: 700;
  font-family: var(--font);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--r-xs, 6px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background-color: rgba(255, 255, 255, 0.05);
  color: var(--t3);
  cursor: wait;
}
.fp__spinner {
  width: 16px;
  height: 16px;
  border: 2px solid var(--t3);
  border-top-color: transparent;
  border-radius: 50%;
  animation: dux-spin 1s linear infinite;
}

.fp__btn-info-wrap {
  position: relative;
}
.fp__btn-info {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  width: 3rem;
  border-radius: var(--r-xs, 6px);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--t2);
  transition: all 0.4s var(--ease-out-expo);
  cursor: pointer;
  text-decoration: none;
}
.fp__btn-info:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
  text-decoration: none;
}
.fp__btn-info svg {
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .fp {
    flex: 0 0 280px;
  }
  .fp__name {
    font-size: 16px;
  }
  .fp__price {
    font-size: 18px;
  }
}
@media (max-width: 1024px) and (min-width: 641px) {
  .fp {
    flex: 0 0 320px;
  }
  .fp__name {
    font-size: 17px;
  }
  .fp__price {
    font-size: 20px;
  }
  .featured-section {
    padding: 0 16px;
  }
}

.footer {
  position: relative;
  padding: 64px 0 0;
  margin-top: 48px;
}
.footer__line {
  display: none;
}
.footer__brand-banner {
  margin: 0 0 64px;
  padding: 40px 0;
}
.footer__brand-text {
  font-family: "Oswald", "Fjalla One", var(--font-display), sans-serif;
  font-size: clamp(2rem, 6vw, 4.5rem);
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1;
  display: block;
  cursor: default;
  transition: all 0.4s ease;
  -webkit-text-stroke: 1px transparent;
}
.footer__brand-text:hover {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.35);
}
.footer__grid {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gap);
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
}
.footer__brand p {
  font-size: 13.5px;
  color: var(--t3);
  margin-top: 16px;
  line-height: 1.6;
}
.footer__social {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}
.footer__social a {
  width: 36px;
  height: 36px;
  border-radius: var(--r-xs);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--t3);
  transition: all 0.3s var(--ease);
}
.footer__social a:hover {
  color: var(--t1);
  border-color: var(--border-h);
}
.footer__social svg {
  width: 16px;
  height: 16px;
}
.footer__col h4 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--t3);
  font-family: var(--mono);
  font-weight: 600;
  margin-bottom: 16px;
}
.footer__col a {
  display: block;
  padding: 6px 0;
  font-size: 13.5px;
  color: var(--t2);
  transition: color 0.2s;
}
.footer__col a:hover {
  color: var(--t1);
}
.footer__bottom {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 24px var(--gap);
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.footer__copy {
  font-size: 12px;
  color: var(--t3);
}
.footer__payments {
  display: flex;
  gap: 8px;
}
.footer__payment-badge {
  padding: 4px 12px;
  border-radius: 100px;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--t3);
  border: 1px solid var(--border);
  text-transform: uppercase;
}
.footer__credit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--t3);
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: color 0.3s var(--ease);
}
.footer__credit:hover {
  color: var(--t2);
}
.footer__credit img {
  height: 48px;
  width: auto;
  vertical-align: middle;
  display: block;
}

.login-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s var(--ease);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.login-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.login-modal {
  width: 100%;
  max-width: 420px;
  background: #161619;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-top-color: rgba(255, 255, 255, 0.11);
  border-radius: var(--r);
  padding: 44px 40px 36px;
  text-align: center;
  transform: translateY(24px) scale(0.96);
  opacity: 0;
  position: relative;
}

.login-modal .login-modal__header,
.login-modal .login-modal__body,
.login-modal .login-modal__footer {
  opacity: 0;
  transform: translateY(10px);
}
.login-overlay.open .login-modal {
  animation: loginIn 0.4s var(--ease-out-expo) forwards;
}
.login-overlay.open .login-modal .login-modal__header {
  animation: loginChildIn 0.4s var(--ease-out-expo) 0.12s forwards;
}
.login-overlay.open .login-modal .login-modal__body {
  animation: loginChildIn 0.4s var(--ease-out-expo) 0.2s forwards;
}
.login-overlay.open .login-modal .login-modal__footer {
  animation: loginChildIn 0.35s var(--ease-out-expo) 0.28s forwards;
}

.login-overlay:not(.open) .login-modal {
  transition:
    transform 0.25s var(--ease),
    opacity 0.2s var(--ease);
  transform: translateY(8px) scale(0.98);
  opacity: 0;
}
@keyframes loginIn {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes loginChildIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.login-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: var(--t3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s var(--ease);
  z-index: 2;
}
.login-modal__close:hover {
  color: var(--t1);
}

.login-modal__header {
  margin-bottom: 28px;
}
.login-modal__image {
  height: 64px;
  width: auto;
  object-fit: contain;
  margin: 0 auto 24px;
  display: block;
}
.login-modal__label {
  font-family: var(--font);
  font-size: 13px;
  font-weight: 400;
  color: var(--t3);
  margin-bottom: 10px;
}
.login-modal h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.35rem;
  color: var(--t1);
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.login-modal__hint {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.55;
  margin-top: 8px;
}

.login-modal__body {
  margin-bottom: 0;
}
.login-modal__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.login-modal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 13px 24px;
  border-radius: var(--r-sm);
  border: none;
  background: var(--accent);
  color: var(--bg-0);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.5s var(--ease-out-expo);
  letter-spacing: 0.01em;
}
.login-modal__btn:hover {
  background: var(--accent-h);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px var(--accent-glow);
}
.login-modal__btn:active {
  transform: translateY(0);
}
.login-modal__btn:disabled {
  opacity: 0.5;
  cursor: wait;
}
.login-modal__btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.3s ease-in-out;
}
.login-modal__btn i {
  font-size: 18px;
  line-height: 1;
  transition: transform 0.3s ease-in-out;
}
.login-modal__btn:hover svg,
.login-modal__btn:hover i {
  transform: translateX(4px);
}

.login-modal__input-label {
  display: block;
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  color: var(--t2);
  margin-bottom: 8px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.login-modal__input {
  width: 100%;
  padding: 13px 16px;
  border-radius: var(--r-xs);
  border: 1px solid var(--border);
  background: rgba(0, 0, 0, 0.3);
  color: var(--t1);
  font-size: 14px;
  font-family: var(--font);
  outline: none;
  transition:
    border-color 0.3s var(--ease),
    box-shadow 0.3s var(--ease);
  margin-bottom: 16px;
}
.login-modal__input:focus {
  border-color: var(--accent-border);
  box-shadow: 0 0 0 3px var(--accent-bg);
}
.login-modal__input::placeholder {
  color: var(--t3);
}
.login-modal__hint-text {
  font-size: 12px;
  color: var(--t3);
  margin-top: 12px;
  line-height: 1.5;
}
.login-modal__cancel {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 13px 20px;
  margin-top: 8px;
  border-radius: var(--r-xs);
  border: 1px solid var(--border);
  background: transparent;
  color: var(--t2);
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s var(--ease);
}
.login-modal__cancel:hover {
  border-color: var(--border-h);
  color: var(--t1);
}

.login-modal__footer {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}
.login-modal__secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-family: var(--font);
  font-size: 12px;
  font-weight: 400;
  color: var(--t3);
}
.login-modal__secure svg {
  opacity: 0.4;
}

@media (max-width: 480px) {
  .login-modal {
    padding: 36px 28px 28px;
  }
}

.cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(0px) saturate(1);
  -webkit-backdrop-filter: blur(0px) saturate(1);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.5s var(--ease-out-expo),
    backdrop-filter 0.6s var(--ease-out-expo),
    -webkit-backdrop-filter 0.6s var(--ease-out-expo);
}
.cart-overlay.open {
  opacity: 1;
  pointer-events: auto;
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
}

.cart-drawer {
  position: fixed;
  top: 50%;
  right: 16px;
  z-index: 1001;
  width: calc(100% - 32px);
  max-width: 440px;
  height: auto;
  max-height: calc(100vh - 32px);
  background: rgba(12, 12, 16, 0.75);
  backdrop-filter: blur(32px) saturate(1.5);
  -webkit-backdrop-filter: blur(32px) saturate(1.5);
  display: flex;
  flex-direction: column;
  transform: translate(calc(100% + 32px), -50%) scale(0.97);
  opacity: 0;
  transition:
    transform 0.55s cubic-bezier(0.34, 1.2, 0.64, 1),
    opacity 0.4s var(--ease-out-expo),
    box-shadow 0.6s var(--ease-out-expo);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: none;
}
.cart-drawer.open {
  transform: translate(0, -50%) scale(1);
  opacity: 1;
  box-shadow:
    -10px 20px 60px rgba(0, 0, 0, 0.7),
    0 0 0 1px rgba(255, 255, 255, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.cart-drawer.closing {
  transform: translate(40px, -50%) scale(0.98);
  opacity: 0;
  transition:
    transform 0.35s cubic-bezier(0.4, 0, 1, 1),
    opacity 0.25s ease;
}
@media (max-width: 540px) {
  .cart-drawer {
    top: 0;
    right: 0;
    height: 100vh;
    max-height: 100vh;
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    border: none;
    transform: translateX(100%) scale(1);
    opacity: 1;
  }
  .cart-drawer.open {
    transform: translateX(0) scale(1);
    box-shadow: -10px 0 50px rgba(0, 0, 0, 0.6);
  }
  .cart-drawer.closing {
    transform: translateX(100%) scale(1);
    opacity: 1;
  }
}

.cart-drawer__accent-line {
  display: none;
}

@keyframes cart-head-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes cart-divider-in {
  from {
    opacity: 0;
    transform: scaleX(0);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
@keyframes cart-footer-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes cart-btn-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.cart-drawer .cart-drawer__head {
  opacity: 0;
}
.cart-drawer .cart-drawer__divider {
  opacity: 0;
  transform-origin: center;
}
.cart-drawer .checkout-footer {
  opacity: 0;
}
.cart-drawer .cart-drawer__checkout-btn {
  opacity: 0;
}

.cart-drawer.open .cart-drawer__head {
  animation: cart-head-in 0.5s var(--ease-out-expo) 0.08s both;
}
.cart-drawer.open .cart-drawer__divider {
  animation: cart-divider-in 0.5s var(--ease-out-expo) 0.15s both;
}
.cart-drawer.open .checkout-footer {
  animation: cart-footer-in 0.5s var(--ease-out-expo) 0.25s both;
}
.cart-drawer.open .cart-drawer__checkout-btn {
  animation: cart-btn-in 0.55s cubic-bezier(0.34, 1.2, 0.64, 1) 0.4s both;
}

.cart-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 28px 18px;
  flex-shrink: 0;
  position: relative;
}
.cart-drawer__head-left {
  display: flex;
  align-items: center;
  gap: 0;
}
.cart-drawer__head-icon {
  display: none;
}
.cart-drawer__head-icon svg {
  display: none;
}
.cart-drawer__head-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cart-drawer__title {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 800;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.5) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.02em;
}
.cart-drawer__subtitle {
  font-size: 13px;
  color: var(--accent);
  font-weight: 500;
}
.cart-drawer__close {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.04);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}
.cart-drawer__close svg {
  width: 20px;
  height: 20px;
}
.cart-drawer__close:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.15);
  transform: scale(1.08) rotate(180deg);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}
.cart-drawer__close:active {
  transform: scale(0.92) rotate(180deg);
  transition-duration: 0.1s;
}

.cart-drawer__count-bar {
  display: none;
}
.cart-drawer__count {
  display: none;
}
.cart-drawer__count strong {
  display: none;
}

.cart-drawer__divider {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  );
  margin: 0 28px 4px;
  flex-shrink: 0;
}

.cart-drawer .checkout-items {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 16px 28px 200px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
}
.cart-drawer .checkout-items::-webkit-scrollbar {
  width: 3px;
}
.cart-drawer .checkout-items::-webkit-scrollbar-track {
  background: transparent;
}
.cart-drawer .checkout-items::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
}

.checkout-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  margin-bottom: 6px;
  transition: border-color 0.3s var(--ease);
  position: relative;
  opacity: 0;
}
.checkout-item:hover {
  border-color: var(--border-h);
}
.checkout-item:last-child {
  margin-bottom: 0;
}

.cart-drawer .checkout-item {
  display: flex;
  align-items: stretch;
  gap: 16px;
  padding: 12px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.03) 0%,
    rgba(255, 255, 255, 0.01) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 16px;
  margin-bottom: 12px;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}
.cart-drawer .checkout-item::after {
  display: none;
}
.cart-drawer .checkout-item:hover {
  border-color: rgba(255, 255, 255, 0.12);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.06) 0%,
    rgba(255, 255, 255, 0.02) 100%
  );
  transform: translateY(-3px) scale(1.01);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.cart-drawer .checkout-item:active {
  transform: translateY(-1px) scale(0.995);
  transition-duration: 0.1s;
}
.cart-drawer .checkout-item:last-child {
  margin-bottom: 0;
}

.cart-drawer.open .checkout-item {
  animation: cart-item-in 0.55s var(--ease-out-expo) both;
}
.cart-drawer.open .checkout-item:nth-child(1) {
  animation-delay: 0.18s;
}
.cart-drawer.open .checkout-item:nth-child(2) {
  animation-delay: 0.25s;
}
.cart-drawer.open .checkout-item:nth-child(3) {
  animation-delay: 0.32s;
}
.cart-drawer.open .checkout-item:nth-child(4) {
  animation-delay: 0.38s;
}
.cart-drawer.open .checkout-item:nth-child(5) {
  animation-delay: 0.43s;
}
.cart-drawer.open .checkout-item:nth-child(n + 6) {
  animation-delay: 0.48s;
}
@keyframes cart-item-in {
  from {
    opacity: 0;
    transform: translateX(20px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.checkout-item__img {
  width: 64px;
  height: 64px;
  border-radius: var(--r-xs);
  overflow: hidden;
  background: var(--bg-0);
  flex-shrink: 0;
}
.cart-drawer .checkout-item__img {
  width: 100px;
  min-height: 80px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.2);
  align-self: stretch;
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}
.checkout-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.cart-drawer .checkout-item:hover .checkout-item__img img {
  transform: scale(1.05);
}

.checkout-item__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cart-drawer .checkout-item__info {
  gap: 12px;
  justify-content: center;
  position: relative;
  padding-right: 0;
}
.checkout-item__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--t1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.cart-drawer .checkout-item__name {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  white-space: normal;
  line-height: 1.4;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.checkout-item__price-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.checkout-item__price {
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 600;
  color: var(--accent);
}
.cart-drawer .checkout-item__price {
  font-family: var(--font-display);
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  display: inline-block;
  width: fit-content;
  letter-spacing: 0.02em;
  box-shadow: none;
}
.checkout-item__price-old {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--t3);
  text-decoration: line-through;
}
.checkout-item__discount {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  color: var(--danger);
  background: rgba(255, 77, 106, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
}

.checkout-item__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
  align-self: stretch;
}

.checkout-item__qty {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  overflow: hidden;
  width: fit-content;
}
.checkout-item__qty-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: none;
  color: var(--t2);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.25s var(--ease);
  font-family: var(--font);
}
.checkout-item__qty-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--t1);
}
.checkout-item__qty-btn:active {
  transform: scale(0.9);
}
.checkout-item__qty-btn:disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}
.checkout-item__qty-val {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--t1);
  min-width: 28px;
  text-align: center;
  padding: 0 2px;
  background: rgba(255, 255, 255, 0.02);
  line-height: 28px;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.checkout-item__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.checkout-item__tags:empty {
  display: none;
}
.checkout-item__tag {
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 2px 7px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.08);
  color: var(--t1);
  line-height: 1.4;
}
.checkout-item__remove {
  width: 32px;
  height: 32px;
  border-radius: var(--r-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--t3);
  background: transparent;
  transition: all 0.25s var(--ease);
  flex-shrink: 0;
  border: 1px solid transparent;
  cursor: pointer;
}
.checkout-item__remove:hover {
  background: rgba(255, 77, 106, 0.08);
  border-color: rgba(255, 77, 106, 0.12);
  color: var(--danger);
}

.cart-drawer .checkout-item__remove {
  position: static;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: none;
  background: rgba(255, 77, 106, 0.06);
  color: rgba(255, 77, 106, 0.6);
  transition: all 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-drawer .checkout-item__remove:hover {
  background: rgba(255, 77, 106, 0.18);
  color: var(--danger);
  transform: scale(1.12);
  box-shadow: 0 0 16px rgba(255, 77, 106, 0.15);
}
.cart-drawer .checkout-item__remove:active {
  transform: scale(0.88);
  transition-duration: 0.08s;
}

.co-gift-indicator {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(212, 168, 83, 0.08);
  font-size: 10px;
  font-family: var(--mono);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
}
.co-gift-indicator svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.cart-drawer .checkout-footer {
  padding: 24px 28px 28px;
  flex-shrink: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  margin-top: 0;
  border-radius: 0;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.2);
}
.cart-drawer .checkout-footer::before {
  display: none;
}

.cart-drawer__footer-info {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 0 14px;
}
.cart-drawer__account-label,
.cart-drawer__total-label {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: 0;
  text-transform: none;
}
.cart-drawer__total-label {
  text-align: right;
}
.cart-drawer__account {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  transition: border-color 0.3s var(--ease);
}
.cart-drawer__account:hover {
  border-color: rgba(255, 255, 255, 0.1);
}
.cart-drawer__account-avatar {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  object-fit: cover;
  background: #161620;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.cart-drawer__account-name {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}
.cart-drawer__total-price {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: -0.02em;
}

.cart-drawer__loyalty-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  margin-bottom: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
}
.cart-drawer__loyalty-row span {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.5);
}
.cart-drawer__loyalty-row span strong {
  color: var(--accent);
  font-weight: 600;
}

.checkout-coupon {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.checkout-coupon input {
  flex: 1;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.03);
  color: #fff;
  font-size: 13px;
  font-family: var(--font-display);
  outline: none;
  transition: all 0.3s var(--ease);
  letter-spacing: 0.02em;
}
.checkout-coupon input:focus {
  border-color: var(--accent);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent),
    0 0 20px color-mix(in srgb, var(--accent) 8%, transparent);
  background: rgba(255, 255, 255, 0.05);
}
.checkout-coupon input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}
.checkout-coupons {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.checkout-coupon-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 100px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  background: var(--accent-bg);
  color: var(--accent);
  border: 1px solid var(--accent-border);
}
.checkout-coupon-tag a,
.checkout-coupon-tag button {
  color: var(--t3);
  transition: color 0.2s;
}
.checkout-coupon-tag a:hover,
.checkout-coupon-tag button:hover {
  color: var(--danger);
}

.checkout-summary {
  margin-bottom: 14px;
}
.checkout-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 13px;
  color: var(--t3);
}
.checkout-summary__row--discount {
  color: var(--success);
}
.checkout-summary__row--discount span:last-child {
  font-family: var(--font-display);
  font-weight: 700;
}
.checkout-summary__row--total {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: 12px;
  margin-top: 6px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.checkout-summary__row--total span:last-child {
  font-family: var(--font-display);
  color: var(--accent);
  font-size: 1.1rem;
  font-weight: 800;
}

.cart-drawer__checkout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 18px 24px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #fff;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
  letter-spacing: 0.02em;
  box-shadow:
    0 4px 16px rgba(16, 185, 129, 0.2),
    0 2px 8px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
  overflow: hidden;
}

.cart-drawer__checkout-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left 0s 0.5s;
  pointer-events: none;
}
.cart-drawer__checkout-btn:hover::before {
  left: 140%;
  transition: left 0.7s var(--ease-out-expo);
}
.cart-drawer__checkout-btn:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow:
    0 12px 32px rgba(16, 185, 129, 0.3),
    0 4px 12px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  filter: brightness(1.08);
}
.cart-drawer__checkout-btn:active {
  transform: translateY(0) scale(0.97);
  box-shadow:
    0 2px 8px rgba(16, 185, 129, 0.15),
    inset 0 2px 4px rgba(0, 0, 0, 0.2);
  transition-duration: 0.1s;
  filter: brightness(0.95);
}
.cart-drawer__checkout-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  position: relative;
}

.cart-drawer .checkout-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 28px;
  text-align: center;
  opacity: 0;
}
.cart-drawer.open .checkout-empty {
  animation: cart-head-in 0.5s var(--ease-out-expo) 0.15s both;
}
[data-stripe-checkout].is-loading {
  cursor: wait;
  opacity: 0.72;
}
.stripe-price-main {
  color: inherit;
  font: inherit;
  line-height: inherit;
}
.stripe-price-term {
  color: rgba(237, 237, 240, 0.62);
  font-family: var(--font);
  font-size: 0.38em;
  font-weight: 800;
}
.stripe-price-original {
  display: inline-flex;
  align-items: center;
  width: max-content;
  color: rgba(237, 237, 240, 0.38);
  font-family: var(--font);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
}
.stripe-sale-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(239, 68, 68, 0.32);
  background: rgba(239, 68, 68, 0.12);
  color: #ff8f8f;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.product-card.has-stripe-sale,
.cad-command-card.has-stripe-sale,
.radio-pricing-card.has-stripe-sale,
.cad-product-pricing-card.has-stripe-sale {
  border-color: rgba(239, 68, 68, 0.28);
  box-shadow:
    0 0 0 1px rgba(239, 68, 68, 0.1),
    0 24px 70px rgba(0, 0, 0, 0.32);
}
.product-card__price.is-stripe-sale,
.radio-price-display.is-stripe-sale,
.cad-product-price.is-stripe-sale {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.product-card__price .stripe-price-main {
  color: var(--accent);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}
.product-card__price .stripe-price-original,
.product-card__price .stripe-sale-badge {
  font-size: 10px;
}
.cad-command-card__price {
  flex-wrap: wrap;
}
.cad-command-card__price .stripe-price-main {
  color: #fff;
  font-family: var(--font-display);
  font-size: 3.05rem;
  font-weight: 900;
  line-height: 0.9;
}
.cad-command-card__price .stripe-price-original,
.cad-command-card__price .stripe-sale-badge {
  margin-bottom: 7px;
}
.cad-command-card__price .stripe-price-term {
  margin-bottom: 5px;
  color: rgba(237, 237, 240, 0.42);
  font-family: var(--mono);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}
.cad-product-price strong .stripe-price-main {
  color: #fff;
  font-family: var(--font-display);
  font-size: 38px;
  line-height: 1;
}
.cad-product-price strong .stripe-price-term {
  color: rgba(237, 237, 240, 0.64);
  font-family: var(--font);
  font-size: 14px;
  font-weight: 800;
}
.checkout-empty__icon {
  width: 80px;
  height: 80px;
  border-radius: 24px;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.01) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.checkout-empty__icon svg {
  width: 28px;
  height: 28px;
  color: rgba(255, 255, 255, 0.3);
}
.checkout-empty__title {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}
.checkout-empty p {
  color: var(--t2);
  font-size: 14px;
  margin-bottom: 28px;
  line-height: 1.6;
  max-width: 260px;
}

@media (max-width: 540px) {
  .cart-drawer {
    max-width: 100%;
  }
  .cart-drawer__head {
    padding: 18px 16px 14px;
  }
  .cart-drawer .checkout-items {
    padding: 10px 16px 14px;
  }
  .cart-drawer .checkout-footer {
    padding: 0 16px 18px;
  }
  .cart-drawer .checkout-item__img {
    width: 90px;
    min-height: 58px;
  }
  .cart-drawer .checkout-item {
    padding: 8px;
    gap: 10px;
  }
  .cart-drawer .checkout-item__name {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cart-drawer,
  .cart-overlay,
  .cart-drawer .checkout-item,
  .cart-drawer__head,
  .cart-drawer__divider,
  .cart-drawer .checkout-footer,
  .cart-drawer__checkout-btn,
  .cart-drawer .checkout-empty {
    animation: none !important;
    transition-duration: 0.01s !important;
  }
  .cart-drawer .checkout-item,
  .cart-drawer__head,
  .cart-drawer__divider,
  .cart-drawer .checkout-footer,
  .cart-drawer__checkout-btn,
  .cart-drawer .checkout-empty {
    opacity: 1 !important;
  }
  .cart-drawer__divider {
    transform: scaleX(1) !important;
  }
  .cart-drawer__checkout-btn {
    transform: translateY(0) scale(1) !important;
  }
}

.checkout-page {
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px var(--gap) 80px;
}
.checkout-card {
  width: 100%;
  max-width: 560px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
}
.checkout-header {
  padding: 28px 28px 0;
}
.checkout-header h1 {
  font-size: 1.4rem;
}
.checkout-page .checkout-items {
  padding: 24px 28px;
}
.checkout-page .checkout-footer {
  padding: 0 28px 28px;
}
.checkout-page .checkout-total {
  border-top: 1px solid var(--border);
  padding: 16px 0;
  margin-bottom: 20px;
}
.checkout-page .checkout-summary:first-child {
  margin-top: 0;
}
.checkout-page .checkout-summary:last-of-type {
  margin-bottom: 20px;
}
.checkout-page .checkout-empty {
  padding: 56px 28px;
}

.options-page {
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px var(--gap) 80px;
}
.options-card {
  width: 100%;
  max-width: 480px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
}
.options-header {
  padding: 28px 28px 0;
}
.options-header h2 {
  font-size: 1.2rem;
}
.options-form {
  padding: 24px 28px 28px;
}
.options-field {
  margin-bottom: 20px;
}
.options-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--t1);
  margin-bottom: 8px;
}
.options-field select,
.options-field input[type="text"],
.options-field input[type="number"] {
  width: 100%;
  padding: 11px 14px;
  border-radius: var(--r-sm);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--t1);
  font-size: 14px;
  transition: border-color 0.3s var(--ease);
}
.options-field select:focus,
.options-field input:focus {
  border-color: var(--accent-border);
}
.options-field select option {
  background: var(--bg-1);
  color: var(--t1);
}
.options-field .verified {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--r-sm);
  background: rgba(52, 211, 153, 0.06);
  border: 1px solid rgba(52, 211, 153, 0.15);
  color: var(--success);
  font-size: 13.5px;
}
.options-field .verified a {
  color: var(--accent);
  font-size: 12px;
}
.options-submit {
  width: 100%;
  padding: 13px;
  border-radius: var(--r-sm);
  background: var(--accent);
  color: var(--bg-0);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  transition: all var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.options-submit:hover {
  background: var(--accent-h);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px var(--accent-glow);
}

.page-header {
  padding: 120px 0 48px;
  text-align: center;
}
.page-header .label {
  margin-bottom: 12px;
}
.page-header h1 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.sec + .sec,
.sec + .modules-area + .sec {
  margin-top: 0;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0);
}
[data-reveal-delay="1"] {
  transition-delay: 0.08s;
}
[data-reveal-delay="2"] {
  transition-delay: 0.16s;
}
[data-reveal-delay="3"] {
  transition-delay: 0.24s;
}
[data-reveal-delay="4"] {
  transition-delay: 0.32s;
}
[data-reveal-delay="5"] {
  transition-delay: 0.4s;
}

.scroll-top {
  position: fixed;
  bottom: 32px;
  left: 32px; /* moved left — the compatibility notice occupies the bottom-right */
  z-index: 900;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--surface);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--t1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease;
}
.scroll-top.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.scroll-top:hover {
  border-color: var(--accent);
  background: rgba(255, 255, 255, 0.06);
}
.scroll-top svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 1200px) {
  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1100px) {
  .header__socials {
    display: none;
  }
}
@media (max-width: 1024px) {
  .hero__content--has-image {
    grid-template-columns: 1fr;
  }
  .hero__image {
    justify-content: flex-start;
    margin-top: 40px;
  }
  .hero__image img {
    max-width: 400px;
  }
  .hero__title {
    font-size: clamp(3rem, 8vw, 6rem);
  }
}
@media (max-width: 1100px) and (min-width: 901px) {
  .header__inner {
    padding: 0 24px;
  }
  .header__nav {
    padding: 4px;
    gap: 2px;
  }
  .header__nav a {
    padding: 8px 12px;
    font-size: 12.5px;
    gap: 6px;
    letter-spacing: 0;
  }
  .header__nav a svg {
    width: 14px;
    height: 14px;
  }
  .header__nav-chevron {
    width: 9px;
    height: 9px;
    margin-left: -2px;
  }
  .header__nav-divider {
    margin: 0 2px;
    height: 18px;
  }
  .header__actions {
    gap: 8px;
  }
}
@media (max-width: 900px) {
  .header__currency-wrap {
    display: none;
  }
  .header__login span {
    display: none;
  }
  .header__inner {
    display: flex;
    padding: 0 var(--gap);
  }
  .header__nav {
    display: none;
  }
  .header__login {
    display: none;
  }
  .gs-wrap {
    display: none;
  }
  .header__actions {
    margin-left: auto;
  }
  .header__hamburger {
    display: flex;
  }
  .header__shop-group {
    padding: 0 12px;
    gap: 8px;
    height: 38px;
  }
  .header__shop-group .header__wishlist {
    width: 28px;
    height: 28px;
  }
  .header__shop-group .header__wishlist svg {
    width: 14px;
    height: 14px;
  }
  .header__cart svg {
    width: 15px;
    height: 15px;
  }
  .header__cart span {
    display: none;
  }
}
@media (max-width: 768px) {
  .hero__title {
    font-size: clamp(2.5rem, 9vw, 4rem);
  }
  .hero__stats {
    flex-wrap: wrap;
    gap: 24px;
  }
  .hero__scroll {
    display: none;
  }
  .sec {
    padding: 64px 0;
  }
}
@media (max-width: 640px) {
  :root {
    --gap: 16px;
  }
  .products-grid {
    grid-template-columns: 1fr;
  }
  .review-card {
    flex: 0 0 300px;
    padding: 24px;
  }
  .faq-list {
    grid-template-columns: 1fr;
  }
  .footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
@media (max-width: 480px) {
  .hero__title {
    font-size: clamp(2rem, 10vw, 3rem);
  }
  .hero__buttons {
    flex-direction: column;
    width: 100%;
  }
  .hero__buttons .btn {
    width: 100%;
  }
  .hero__stat-value {
    font-size: 1.2rem;
  }
  .btn--lg {
    padding: 14px 24px;
  }
  .footer__bottom {
    flex-direction: column;
    text-align: center;
  }
}

.announce-bar {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px var(--gap);
  background: var(--surface, #0c0c0f);
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  font-weight: 500;
  color: var(--t1);
  letter-spacing: 0.01em;
  z-index: 1001;
  position: relative;
}
.announce-bar a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
  margin-left: 6px;
  transition: color 0.3s var(--ease);
}
.announce-bar a:hover {
  color: var(--t1);
}
.announce-bar--marquee {
  overflow: hidden;
}
.announce-bar__track {
  display: flex;
  gap: 64px;
  width: max-content;
  animation: announceScroll var(--announce-duration, 20s) linear infinite;
}
.announce-bar__track span {
  white-space: nowrap;
  flex-shrink: 0;
}
.announce-bar--marquee:hover .announce-bar__track {
  animation-play-state: paused;
}
@keyframes announceScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--announce-shift));
  }
}

/* ============================================================
       COMPATIBILITY NOTICE — permanent card, bottom-right
       Always visible from first paint and never closable. Visitors
       can only collapse it to a compact bar, so the information
       stays on screen at all times.
       z-index above content but below nav/cart/checkout overlays.
       ============================================================ */
.notice-card {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 358px;
  max-width: calc(100vw - 48px);
  background: #141416;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  padding: 22px 22px 20px;
  z-index: 950;
  box-shadow: 0 30px 70px -14px rgba(0, 0, 0, 0.65);
  overflow: hidden;
}

/* Header bar — stays visible in both the full and collapsed state */
.notice-card__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

/* Neutral label — no accent colour, but readable contrast */
.notice-card__flag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t2);
  min-width: 0;
}
.notice-card__flag svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* Status chips — only shown while collapsed, so the core statement
       (what works, what does not) stays on screen in every state. */
.notice-card__status {
  display: none;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.notice-card__st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--t1);
  white-space: nowrap;
}
.notice-card__st svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.notice-card__st--yes svg {
  color: var(--success);
}
.notice-card__st--no {
  color: var(--t2);
}
.notice-card__st--no svg {
  color: var(--danger);
}
.notice-card__st-sep {
  width: 1px;
  height: 13px;
  background: rgba(255, 255, 255, 0.16);
  flex-shrink: 0;
}

/* Collapse toggle — makes the card smaller, never hides it */
.notice-card__min {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin: -4px -4px -4px 0;
  border: none;
  background: transparent;
  color: var(--t2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 6px;
  transition:
    color 0.2s var(--ease),
    background 0.2s var(--ease);
}
.notice-card__min:hover {
  color: var(--t1);
  background: rgba(255, 255, 255, 0.06);
}
.notice-card__min:focus-visible {
  outline: 1px solid var(--t2);
  outline-offset: 2px;
}
.notice-card__min svg {
  width: 14px;
  height: 14px;
  transition: transform 0.25s var(--ease);
}

/* Collapsed state — compact status pill. The label is replaced by
       the two status chips, so the notice still says what works and
       what does not. Never fully hidden. */
.notice-card.is-min {
  width: auto;
  padding: 7px 9px 7px 13px;
  border-radius: 999px;
  background: #1b1b1f;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 34px -12px rgba(0, 0, 0, 0.7);
  transition:
    transform 0.3s var(--ease),
    background 0.25s var(--ease);
}
.notice-card.is-min:hover {
  background: #202024;
  transform: translateY(-2px);
}
.notice-card.is-min .notice-card__bar {
  margin-bottom: 0;
  gap: 10px;
}
.notice-card.is-min .notice-card__body {
  display: none;
}
.notice-card.is-min .notice-card__flag {
  display: none;
}
.notice-card.is-min .notice-card__status {
  display: inline-flex;
}
.notice-card.is-min .notice-card__min {
  width: 22px;
  height: 22px;
  margin: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.notice-card.is-min .notice-card__min svg {
  width: 13px;
  height: 13px;
  transform: rotate(180deg);
}

.notice-card__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1.3;
  color: var(--t1);
  letter-spacing: -0.01em;
  margin-bottom: 9px;
}
.notice-card__subtitle {
  font-size: 12.5px;
  color: var(--t2);
  line-height: 1.62;
  margin-bottom: 18px;
}

/* Compatibility rows — clean list with colour-coded status badges */
.notice-card__compat {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 18px;
}
.notice-crow {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  background: rgba(255, 255, 255, 0.012);
}
.notice-crow + .notice-crow {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.notice-crow__icon {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
}
.notice-crow__icon svg {
  width: 14px;
  height: 14px;
}
.notice-crow--yes .notice-crow__icon {
  color: var(--success);
  background: color-mix(in srgb, var(--success) 13%, transparent);
  border-color: color-mix(in srgb, var(--success) 30%, transparent);
}
.notice-crow--no .notice-crow__icon {
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 13%, transparent);
  border-color: color-mix(in srgb, var(--danger) 30%, transparent);
}
.notice-crow__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.notice-crow__label {
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--t1);
  line-height: 1.3;
}
.notice-crow__desc {
  font-size: 11px;
  line-height: 1.4;
  margin-top: 2px;
}
.notice-crow--yes .notice-crow__desc {
  color: color-mix(in srgb, var(--success) 62%, var(--t3));
}
.notice-crow--no .notice-crow__desc {
  color: color-mix(in srgb, var(--danger) 58%, var(--t3));
}

.notice-card__compat--compact {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  border-radius: 0;
  margin-bottom: 12px;
  overflow: visible;
}
.notice-pill {
  min-width: 0;
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.notice-pill--yes {
  color: color-mix(in srgb, var(--success) 78%, #fff);
  background: color-mix(in srgb, var(--success) 9%, transparent);
  border-color: color-mix(in srgb, var(--success) 24%, transparent);
}
.notice-pill--no {
  color: color-mix(in srgb, var(--danger) 74%, #fff);
  background: color-mix(in srgb, var(--danger) 8%, transparent);
  border-color: color-mix(in srgb, var(--danger) 22%, transparent);
}

.notice-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.notice-action {
  min-width: 0;
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.085);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.018);
  color: var(--t1);
  text-decoration: none;
  transition:
    color 0.2s var(--ease),
    border-color 0.2s var(--ease),
    background 0.2s var(--ease),
    transform 0.2s var(--ease);
}
.notice-action:hover {
  transform: translateY(-1px);
  border-color: rgba(32, 163, 224, 0.3);
  background: rgba(32, 163, 224, 0.08);
}
.notice-action__icon {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: rgba(32, 163, 224, 0.1);
  color: var(--accent);
}
.notice-action__icon svg {
  width: 14px;
  height: 14px;
}
.notice-action__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.notice-action__label {
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--t1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notice-action__desc {
  font-size: 10.5px;
  line-height: 1.25;
  color: var(--t3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.notice-card__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  font-family: var(--font);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--t2);
  text-decoration: none;
  transition:
    color 0.2s var(--ease),
    border-color 0.2s var(--ease),
    background 0.2s var(--ease);
}
.notice-card__link:hover {
  color: var(--t1);
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.02);
}
.notice-card__link svg {
  width: 14px;
  height: 14px;
  opacity: 0.8;
}

@media (max-width: 540px) {
  .notice-card {
    bottom: 18px;
    left: 18px;
    right: 18px;
    width: auto;
    max-width: none;
  }
  .notice-card.is-min {
    left: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .notice-card__min svg {
    transition: none;
  }
}

/* Source: index.html inline style 2, original line 4116 */
:root {
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

.lp-hero {
  position: relative;
  margin-top: -88px;
  padding: 200px 0 60px;
  text-align: center;
  overflow: hidden;
  min-height: 800px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lp-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.lp-hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lp-hero__bg-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, #0c0c0f 95%);
}
.lp-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 950px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t2);
  margin-bottom: 28px;
  opacity: 0;
  transform: translateY(12px);
  animation: lpReveal 0.7s var(--ease-out) 0.1s forwards;
}
.lp-hero__logo {
  margin-bottom: 20px;
  opacity: 0;
  transform: translateY(16px);
  animation: lpReveal 0.7s var(--ease-out) 0.15s forwards;
}
.lp-hero__logo img {
  height: 120px;
  width: auto;
  object-fit: contain;
}
.lp-hero__title {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 7.5vw, 5.5rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 24px;
  opacity: 0;
  transform: translateY(16px);
  animation: lpReveal 0.7s var(--ease-out) 0.22s forwards;
}
.lp-hero__title-line {
  display: block;
}
.lp-hero__title-accent {
  color: var(--accent);
  position: relative;
  background: linear-gradient(
    90deg,
    var(--accent) 0%,
    color-mix(in srgb, var(--accent) 60%, #fff) 20%,
    #fff 35%,
    color-mix(in srgb, var(--accent) 60%, #fff) 50%,
    var(--accent) 70%,
    color-mix(in srgb, var(--accent) 80%, #ff6a00) 100%
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: lpAccentShimmer 5s ease-in-out infinite;
  filter: drop-shadow(
      0 0 16px color-mix(in srgb, var(--accent) 40%, transparent)
    )
    drop-shadow(0 0 40px color-mix(in srgb, var(--accent) 20%, transparent));
}
@keyframes lpAccentShimmer {
  0% {
    background-position: 0% center;
  }
  50% {
    background-position: 150% center;
  }
  100% {
    background-position: 300% center;
  }
}

.lp-hero--none .lp-hero__title-accent {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  -webkit-text-fill-color: var(--accent);
  animation: none;
  filter: none;
}

.lp-hero--wave .lp-hero__title-accent {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='200'%3E%3Cpath d='M0,30 Q55,5 110,30 Q165,55 220,30 L220,60 Q165,85 110,60 Q55,35 0,60 Z' fill='white' fill-opacity='0.22'/%3E%3Cpath d='M0,100 Q55,75 110,100 Q165,125 220,100 L220,130 Q165,155 110,130 Q55,105 0,130 Z' fill='white' fill-opacity='0.16'/%3E%3Cpath d='M0,170 Q55,145 110,170 Q165,195 220,170 L220,200 Q165,225 110,200 Q55,175 0,200 Z' fill='white' fill-opacity='0.2'/%3E%3C/svg%3E")
      repeat 0 0,
    var(--accent);
  background-size:
    220px 200px,
    100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpWaveFlow 5s linear infinite;
}
@keyframes lpWaveFlow {
  0% {
    background-position:
      0 0,
      0 0;
  }
  100% {
    background-position:
      -220px 0,
      0 0;
  }
}

.lp-hero--pulse .lp-hero__title-accent {
  background: var(--accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpPulse 2.5s ease-in-out infinite;
  filter: drop-shadow(0 0 0px var(--accent));
}
@keyframes lpPulse {
  0%,
  100% {
    filter: drop-shadow(
      0 0 4px color-mix(in srgb, var(--accent) 20%, transparent)
    );
    opacity: 0.85;
  }
  50% {
    filter: drop-shadow(
        0 0 28px color-mix(in srgb, var(--accent) 60%, transparent)
      )
      drop-shadow(0 0 60px color-mix(in srgb, var(--accent) 30%, transparent));
    opacity: 1;
  }
}

.lp-hero--neon .lp-hero__title-accent {
  background: var(--accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpNeon 3s ease-in-out infinite;
  filter: drop-shadow(0 0 8px var(--accent))
    drop-shadow(0 0 20px color-mix(in srgb, var(--accent) 50%, transparent));
}
@keyframes lpNeon {
  0%,
  100% {
    filter: drop-shadow(0 0 8px var(--accent))
      drop-shadow(0 0 20px color-mix(in srgb, var(--accent) 50%, transparent));
    opacity: 1;
  }
  5% {
    opacity: 0.4;
    filter: none;
  }
  6% {
    opacity: 1;
    filter: drop-shadow(0 0 8px var(--accent))
      drop-shadow(0 0 20px color-mix(in srgb, var(--accent) 50%, transparent));
  }
  45% {
    filter: drop-shadow(0 0 12px var(--accent))
      drop-shadow(0 0 40px color-mix(in srgb, var(--accent) 60%, transparent));
    opacity: 1;
  }
  55% {
    opacity: 0.6;
    filter: drop-shadow(0 0 4px var(--accent));
  }
  57% {
    opacity: 1;
    filter: drop-shadow(0 0 10px var(--accent))
      drop-shadow(0 0 30px color-mix(in srgb, var(--accent) 50%, transparent));
  }
}

.lp-hero--fire .lp-hero__title-accent {
  background: linear-gradient(
    90deg,
    #ff4500,
    #ff8c00,
    var(--accent),
    #ff8c00,
    #ff4500,
    var(--accent)
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpFire 3s ease-in-out infinite;
  filter: drop-shadow(0 0 10px rgba(255, 69, 0, 0.35))
    drop-shadow(0 2px 4px rgba(255, 140, 0, 0.25));
}
@keyframes lpFire {
  0% {
    background-position: 0% center;
  }
  50% {
    background-position: 100% center;
  }
  100% {
    background-position: 0% center;
  }
}

.lp-hero--glitch .lp-hero__title-accent {
  position: relative;
  background: var(--accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpGlitch 4s linear infinite;
}
@keyframes lpGlitch {
  0%,
  92%,
  100% {
    transform: none;
    filter: none;
    opacity: 1;
  }
  93% {
    transform: translateX(-3px) skewX(-2deg);
    filter: drop-shadow(3px 0 #0ff) drop-shadow(-3px 0 #f0f);
  }
  94% {
    transform: translateX(3px) skewX(1deg);
    filter: drop-shadow(-2px 0 #0ff) drop-shadow(2px 0 #f0f);
  }
  95% {
    transform: translateX(-1px);
    filter: none;
  }
  96% {
    transform: translateX(2px) skewX(-1deg);
    filter: drop-shadow(2px 0 #0ff) drop-shadow(-2px 0 #f0f);
    opacity: 0.8;
  }
  97% {
    transform: none;
    filter: none;
    opacity: 1;
  }
}

.lp-hero--aurora .lp-hero__title-accent {
  background: linear-gradient(
    90deg,
    #00c9ff,
    var(--accent),
    #92fe9d,
    #00c9ff,
    var(--accent),
    #92fe9d
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpAurora 6s ease-in-out infinite;
  filter: drop-shadow(0 0 12px #00c9ff33) drop-shadow(0 0 24px #92fe9d26);
}
@keyframes lpAurora {
  0% {
    background-position: 0% center;
  }
  50% {
    background-position: 100% center;
  }
  100% {
    background-position: 0% center;
  }
}

.lp-hero--shimmer .lp-hero__title-accent {
  background: linear-gradient(
    105deg,
    var(--accent) 0%,
    var(--accent) 35%,
    color-mix(in srgb, var(--accent) 60%, #fff) 50%,
    var(--accent) 65%,
    var(--accent) 100%
  );
  background-size: 250% 100%;
  background-position: 100% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpShimmer 4s ease-in-out infinite;
}
@keyframes lpShimmer {
  0%,
  100% {
    background-position: 100% center;
  }
  50% {
    background-position: 0% center;
  }
}

.lp-hero--gleam .lp-hero__title-accent {
  background: linear-gradient(
    120deg,
    var(--accent) 0%,
    var(--accent) 42%,
    #fff 50%,
    var(--accent) 58%,
    var(--accent) 100%
  );
  background-size: 300% 100%;
  background-position: 100% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: lpGleam 5s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
@keyframes lpGleam {
  0% {
    background-position: 100% center;
  }
  30%,
  100% {
    background-position: -50% center;
  }
}

.lp-hero__subtitle {
  font-size: 19px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.42);
  max-width: 580px;
  line-height: 1.65;
  margin-bottom: 40px;
  opacity: 0;
  transform: translateY(12px);
  animation: lpReveal 0.7s var(--ease-out) 0.3s forwards;
}
.lp-hero__subtitle strong {
  color: var(--accent);
  font-weight: 600;
}
.lp-hero__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 48px;
  opacity: 0;
  transform: translateY(12px);
  animation: lpReveal 0.7s var(--ease-out) 0.38s forwards;
}
.lp-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 36px;
  border-radius: 12px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s var(--ease);
  border: none;
  cursor: pointer;
}
.lp-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.lp-btn--primary {
  background: linear-gradient(
    135deg,
    var(--accent) 0%,
    color-mix(in srgb, var(--accent) 75%, #ff6a00) 100%
  );
  color: var(--bg-0, #000);
  box-shadow:
    0 4px 16px color-mix(in srgb, var(--accent) 35%, transparent),
    0 0 32px color-mix(in srgb, var(--accent) 15%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  border: 1px solid color-mix(in srgb, var(--accent) 80%, #fff);
  position: relative;
  overflow: hidden;
}
.lp-btn--primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.25),
    transparent
  );
  transition: left 0s 0.4s;
  pointer-events: none;
}
.lp-btn--primary:hover {
  box-shadow:
    0 8px 28px color-mix(in srgb, var(--accent) 50%, transparent),
    0 0 48px color-mix(in srgb, var(--accent) 25%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: translateY(-3px) scale(1.02);
}
.lp-btn--primary:hover::before {
  left: 120%;
  transition: left 0.6s ease;
}
.lp-btn--primary:active {
  transform: translateY(0) scale(0.98);
}
.lp-btn--secondary {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
}
.lp-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}
.lp-discord-cta a {
  color: inherit;
  text-decoration: none;
}
.lp-discord-cta__link,
.lp-discord-cta__icon {
  display: inline-flex;
  align-items: center;
}
.lp-discord-online {
  display: none;
  align-items: center;
  gap: 7px;
  margin-left: 4px;
  cursor: pointer;
}
.lp-discord-online.visible {
  display: flex;
}
.lp-discord-online__pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px 3px 7px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}
.lp-discord-online:hover .lp-discord-online__pill {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.16);
}
.lp-discord-online__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #23a55a;
  box-shadow: 0 0 6px rgba(35, 165, 90, 0.5);
  flex-shrink: 0;
  animation: lpDotPulse 2s ease-in-out infinite;
}
@keyframes lpDotPulse {
  0%,
  100% {
    box-shadow: 0 0 4px rgba(35, 165, 90, 0.4);
  }
  50% {
    box-shadow: 0 0 10px rgba(35, 165, 90, 0.7);
  }
}
.lp-discord-online__count {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.85);
}
.lp-discord-online__sep {
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, 0.1);
}

.lp-hero__stats {
  display: flex;
  justify-content: center;
  gap: 48px;
  margin-bottom: 48px;
  opacity: 0;
  transform: translateY(12px);
  animation: lpReveal 0.7s var(--ease-out) 0.44s forwards;
}
.lp-hero__stat {
  text-align: center;
}
.lp-hero__stat-val {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1;
}
.lp-hero__stat-label {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 6px;
}

.lp-hero__scroll-hint {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 32px;
  animation: lpScrollBounce 2s ease-in-out infinite;
}
.lp-hero__scroll-hint svg {
  width: 28px;
  height: 28px;
  color: rgba(255, 255, 255, 0.3);
}
@keyframes lpScrollBounce {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.4;
  }
  50% {
    transform: translateY(10px);
    opacity: 1;
  }
}

.lp-features {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  opacity: 0;
  transform: translateY(14px);
  animation: lpReveal 0.7s var(--ease-out) 0.5s forwards;
}
.lp-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  gap: 16px;
  width: 100%;
}
.lp-feature {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.3s ease;
}
.lp-feature:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}
.lp-feature__icon {
  width: 56px;
  height: 56px;
  min-width: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  color: #fff;
  transition: border-color 0.3s var(--ease);
}
.lp-feature:hover .lp-feature__icon {
  border-color: rgba(255, 255, 255, 0.2);
}
.lp-feature__icon svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.5;
}
.lp-feature__title {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}
.lp-feature__desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.5;
  margin-top: 4px;
}

.lp-sec {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px 0;
}
.lp-sec__header {
  text-align: center;
  margin-bottom: 36px;
}
.lp-sec__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin-bottom: 8px;
}
.lp-sec__sub {
  font-size: clamp(13px, 2vw, 15px);
  font-weight: 400;
  color: var(--accent);
  opacity: 0.8;
}

.lp-band {
  padding: 40px 0;
}
.lp-band--alt {
  background: transparent;
}

.lp-modules {
  padding-top: 0;
}

.lp-reviews {
  max-width: var(--max-w, 1680px);
  margin: 0 auto;
  padding: 0 var(--gap, 24px);
}
.lp-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.lp-review {
  padding: 30px 30px 26px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  transition:
    border-color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
}
.lp-review:hover {
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(255, 255, 255, 0.09);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.lp-review__stars {
  display: flex;
  gap: 2px;
  align-items: center;
  justify-self: start;
  order: -1;
}
.lp-review__stars svg {
  width: 15px;
  height: 15px;
  fill: #ffd700;
  color: #ffd700;
}
.lp-review__quote {
  display: block;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  color: var(--accent);
  opacity: 0.15;
  font-family: Georgia, "Times New Roman", serif;
  user-select: none;
  align-self: center;
  justify-self: end;
}
.lp-review__text {
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.75;
  margin-bottom: 22px;
  margin-top: 18px;
  grid-column: 1 / -1;
}
.lp-review__author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  grid-column: 1 / -1;
}
.lp-review__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
  color: var(--accent);
}
.lp-review__name {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}
.lp-review__role {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 1px;
}

.lp-faq {
  max-width: var(--max-w, 1680px);
  margin: 0 auto;
  padding: 0 var(--gap, 24px);
}
.lp-faq-list {
  columns: 2;
  column-gap: 16px;
}
.lp-faq-item {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 0;
  transition:
    background 0.3s ease,
    border-color 0.3s ease;
  break-inside: avoid;
  margin-bottom: 16px;
}
.lp-faq-item:hover {
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(255, 255, 255, 0.09);
}
.lp-faq-item[open] {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-faq-item summary {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 26px 28px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  user-select: none;
}
.lp-faq-item summary::-webkit-details-marker {
  display: none;
}
.lp-faq-item summary::marker {
  display: none;
  content: "";
}
.lp-faq-num {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--accent);
  opacity: 0.45;
  min-width: 28px;
  flex-shrink: 0;
}
.lp-faq-item summary > span:not(.lp-faq-num) {
  flex: 1;
}
.lp-faq-chevron {
  width: 18px;
  height: 18px;
  color: rgba(255, 255, 255, 0.25);
  transition:
    transform 0.3s var(--ease),
    color 0.3s ease;
  flex-shrink: 0;
}
.lp-faq-item:hover .lp-faq-chevron {
  color: var(--accent);
}
.lp-faq-item[open] .lp-faq-chevron {
  transform: rotate(180deg);
  color: var(--accent);
}
.lp-faq-answer {
  padding: 0 28px 0 74px;
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.75;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition:
    max-height 0.4s var(--ease-out-expo),
    opacity 0.35s ease,
    padding-bottom 0.4s var(--ease-out-expo);
}

.lp-particles {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.lp-particles-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.2s var(--ease-out);
}
.lp-particles-canvas.is-ready {
  opacity: 1;
}
.lp-particle {
  position: absolute;
  width: var(--size, 3px);
  height: var(--size, 3px);
  border-radius: 50%;
  background: radial-gradient(circle, var(--accent) 0%, transparent 70%);
  box-shadow:
    0 0 calc(var(--size, 3px) * 2)
      color-mix(in srgb, var(--accent) 50%, transparent),
    0 0 calc(var(--size, 3px) * 4)
      color-mix(in srgb, var(--accent) 20%, transparent);
  opacity: 0;
  animation: lpParticleFloat var(--dur, 12s) var(--delay, 0s) ease-in-out
    infinite;
  will-change: transform, opacity;
}

@keyframes lpParticleFloat {
  0% {
    opacity: 0;
    transform: translate(0, 0) scale(0.5);
  }
  10% {
    opacity: var(--peak, 0.6);
  }
  50% {
    opacity: var(--peak, 0.6);
    transform: translate(var(--dx, 40px), var(--dy, -80px)) scale(1);
  }
  90% {
    opacity: var(--peak, 0.6);
  }
  100% {
    opacity: 0;
    transform: translate(calc(var(--dx, 40px) * 2), calc(var(--dy, -80px) * 2))
      scale(0.5);
  }
}

@keyframes lpParticleEmbers {
  0% {
    opacity: 0;
    transform: translateY(0) translateX(0) scale(0.3);
  }
  15% {
    opacity: var(--peak, 0.8);
  }
  50% {
    opacity: var(--peak, 0.8);
    transform: translateY(calc(var(--dy, -120px) * 0.5))
      translateX(var(--dx, 20px)) scale(1);
  }
  85% {
    opacity: calc(var(--peak, 0.8) * 0.3);
  }
  100% {
    opacity: 0;
    transform: translateY(var(--dy, -120px))
      translateX(calc(var(--dx, 20px) * 1.5)) scale(0.1);
  }
}

@keyframes lpParticleStarfield {
  0%,
  100% {
    opacity: 0.05;
    transform: scale(0.5);
  }
  20% {
    opacity: var(--peak, 0.9);
    transform: scale(1.2);
  }
  40% {
    opacity: calc(var(--peak, 0.9) * 0.4);
    transform: scale(0.8);
  }
  60% {
    opacity: var(--peak, 0.9);
    transform: scale(1);
  }
  80% {
    opacity: calc(var(--peak, 0.9) * 0.2);
    transform: scale(0.6);
  }
}

@keyframes lpParticleSnow {
  0% {
    opacity: 0;
    transform: translateY(-20px) translateX(0) rotate(0deg);
  }
  10% {
    opacity: var(--peak, 0.5);
  }
  50% {
    opacity: var(--peak, 0.5);
    transform: translateY(calc(var(--dy, 150px) * 0.5))
      translateX(var(--dx, 30px)) rotate(180deg);
  }
  90% {
    opacity: var(--peak, 0.5);
  }
  100% {
    opacity: 0;
    transform: translateY(var(--dy, 150px))
      translateX(calc(var(--dx, 30px) * -0.5)) rotate(360deg);
  }
}

@keyframes lpParticleFireflies {
  0% {
    opacity: 0.1;
    transform: translate(0, 0) scale(0.6);
  }
  15% {
    opacity: var(--peak, 0.9);
    transform: translate(
        calc(var(--dx, 40px) * 0.3),
        calc(var(--dy, -30px) * 0.3)
      )
      scale(1.2);
  }
  30% {
    opacity: 0.15;
    transform: translate(
        calc(var(--dx, 40px) * -0.5),
        calc(var(--dy, -30px) * 0.6)
      )
      scale(0.7);
  }
  50% {
    opacity: var(--peak, 0.9);
    transform: translate(
        calc(var(--dx, 40px) * 0.8),
        calc(var(--dy, -30px) * -0.2)
      )
      scale(1.1);
  }
  65% {
    opacity: 0.1;
    transform: translate(
        calc(var(--dx, 40px) * -0.2),
        calc(var(--dy, -30px) * 0.9)
      )
      scale(0.5);
  }
  80% {
    opacity: var(--peak, 0.9);
    transform: translate(
        calc(var(--dx, 40px) * 0.5),
        calc(var(--dy, -30px) * -0.5)
      )
      scale(1.3);
  }
  100% {
    opacity: 0.1;
    transform: translate(0, 0) scale(0.6);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lp-particle {
    animation: none !important;
    opacity: 0 !important;
  }
  .lp-particles-canvas {
    display: none !important;
  }
}

@keyframes lpReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lp-hero__eyebrow,
  .lp-hero__logo,
  .lp-hero__title,
  .lp-hero__subtitle,
  .lp-hero__actions,
  .lp-hero__stats,
  .lp-features,
  [data-aos="fade-up"] {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }
  .lp-hero__title-accent,
  .lp-hero--wave .lp-hero__title-accent,
  .lp-hero--pulse .lp-hero__title-accent,
  .lp-hero--neon .lp-hero__title-accent,
  .lp-hero--fire .lp-hero__title-accent,
  .lp-hero--glitch .lp-hero__title-accent,
  .lp-hero--aurora .lp-hero__title-accent,
  .lp-hero--shimmer .lp-hero__title-accent,
  .lp-hero--gleam .lp-hero__title-accent {
    animation: none !important;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: var(--accent) !important;
    color: var(--accent) !important;
    filter: none !important;
  }
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .lp-hero__title-accent,
  .lp-hero--wave .lp-hero__title-accent,
  .lp-hero--pulse .lp-hero__title-accent,
  .lp-hero--neon .lp-hero__title-accent,
  .lp-hero--fire .lp-hero__title-accent,
  .lp-hero--glitch .lp-hero__title-accent,
  .lp-hero--aurora .lp-hero__title-accent,
  .lp-hero--shimmer .lp-hero__title-accent,
  .lp-hero--gleam .lp-hero__title-accent {
    background: none !important;
    -webkit-text-fill-color: var(--accent) !important;
    color: var(--accent) !important;
    animation: none !important;
    filter: none !important;
  }
}

@media (forced-colors: active) {
  .lp-hero__title-accent,
  .lp-hero--wave .lp-hero__title-accent,
  .lp-hero--pulse .lp-hero__title-accent,
  .lp-hero--neon .lp-hero__title-accent,
  .lp-hero--fire .lp-hero__title-accent,
  .lp-hero--glitch .lp-hero__title-accent,
  .lp-hero--aurora .lp-hero__title-accent,
  .lp-hero--shimmer .lp-hero__title-accent,
  .lp-hero--gleam .lp-hero__title-accent {
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
    color: LinkText !important;
    animation: none !important;
    filter: none !important;
  }
}

html.no-text-clip .lp-hero__title-accent,
html.no-text-clip .lp-hero--wave .lp-hero__title-accent,
html.no-text-clip .lp-hero--pulse .lp-hero__title-accent,
html.no-text-clip .lp-hero--neon .lp-hero__title-accent,
html.no-text-clip .lp-hero--fire .lp-hero__title-accent,
html.no-text-clip .lp-hero--glitch .lp-hero__title-accent,
html.no-text-clip .lp-hero--aurora .lp-hero__title-accent,
html.no-text-clip .lp-hero--shimmer .lp-hero__title-accent,
html.no-text-clip .lp-hero--gleam .lp-hero__title-accent {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: var(--accent) !important;
  color: var(--accent) !important;
  animation: none !important;
  filter: none !important;
}

@media (max-width: 900px) {
  .lp-reviews__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lp-faq-list {
    columns: 1;
  }
}
@media (max-width: 768px) {
  .lp-hero {
    margin-top: 0;
    padding-top: 130px;
    min-height: auto;
  }
  .lp-hero__logo img {
    height: 80px;
  }
  .lp-hero__actions {
    gap: 10px;
  }
  .lp-btn {
    padding: 12px 24px;
    font-size: 14px;
  }
  .lp-hero__stats {
    gap: 32px;
  }
  .lp-hero__stat-val {
    font-size: 22px;
  }
  .lp-features__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .lp-reviews,
  .lp-faq {
    padding-left: 16px;
    padding-right: 16px;
  }
  .lp-band {
    padding: 80px 0;
  }
  .lp-reviews__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .lp-hero {
    margin-top: 0;
    padding-top: 110px;
  }
  .lp-hero__logo img {
    height: 64px;
  }
  .lp-hero__title {
    font-size: clamp(2rem, 9vw, 3.2rem);
  }
  .lp-hero__subtitle {
    font-size: 13.5px;
    margin-bottom: 28px;
  }
  .lp-hero__stats {
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
  }
  .lp-hero__stat-val {
    font-size: 20px;
  }
  .lp-features__grid {
    grid-template-columns: 1fr;
  }
  .lp-feature__icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }
  .lp-feature__icon svg {
    width: 22px;
    height: 22px;
  }
  .lp-btn {
    padding: 11px 20px;
    font-size: 13.5px;
    width: 100%;
    justify-content: center;
  }
}

.discord-swipe .header {
  transform: translateX(110vw) rotate(2deg) scale(0.95);
  opacity: 0;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
    opacity 400ms ease 0ms;
}
.discord-swipe .lp-hero__eyebrow,
.discord-swipe .lp-hero__logo {
  transform: translateX(110vw) rotate(2.5deg) scale(0.95) !important;
  opacity: 0 !important;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 60ms,
    opacity 400ms ease 60ms !important;
}
.discord-swipe .lp-hero__title {
  transform: translateX(110vw) rotate(2deg) scale(0.95) !important;
  opacity: 0 !important;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 120ms,
    opacity 400ms ease 120ms !important;
}
.discord-swipe .lp-hero__subtitle {
  transform: translateX(110vw) rotate(2.5deg) scale(0.95) !important;
  opacity: 0 !important;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 180ms,
    opacity 400ms ease 180ms !important;
}
.discord-swipe .lp-hero__actions {
  transform: translateX(110vw) rotate(2deg) scale(0.95) !important;
  opacity: 0 !important;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 240ms,
    opacity 400ms ease 240ms !important;
}
.discord-swipe .lp-hero__stats {
  transform: translateX(110vw) rotate(2.5deg) scale(0.95) !important;
  opacity: 0 !important;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 300ms,
    opacity 400ms ease 300ms !important;
}
.discord-swipe .lp-features {
  transform: translateX(110vw) rotate(2deg) scale(0.95) !important;
  opacity: 0 !important;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 360ms,
    opacity 400ms ease 360ms !important;
}
.discord-swipe .lp-hero__scroll-hint {
  transform: translateX(110vw) rotate(2deg) scale(0.95) !important;
  opacity: 0 !important;
  transition:
    transform 550ms cubic-bezier(0.4, 0, 0.2, 1) 420ms,
    opacity 400ms ease 420ms !important;
}

.discord-watermark {
  position: fixed;
  z-index: 9999;
  top: 50%;
  left: 50%;
  width: 280px;
  height: 280px;
  margin-left: -140px;
  margin-top: -140px;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.6);
  transition:
    opacity 600ms ease,
    transform 800ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.discord-watermark.visible {
  opacity: 0.12;
  transform: scale(1);
}
.discord-watermark svg {
  width: 100%;
  height: 100%;
  fill: #5865f2;
  filter: drop-shadow(0 0 60px rgba(88, 101, 242, 0.3));
}

.header,
.lp-hero__scroll-hint {
  transform: translateX(0);
  transition: transform 0ms;
}

.discord-swipe-reset .header,
.discord-swipe-reset .lp-hero__eyebrow,
.discord-swipe-reset .lp-hero__logo,
.discord-swipe-reset .lp-hero__title,
.discord-swipe-reset .lp-hero__subtitle,
.discord-swipe-reset .lp-hero__actions,
.discord-swipe-reset .lp-hero__stats,
.discord-swipe-reset .lp-features,
.discord-swipe-reset .lp-hero__scroll-hint {
  transition: none !important;
  opacity: 1 !important;
}

/* Source: index.html inline style 3, original line 5772 */
.pay-marquee-wrap {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 24px 32px;
}
.pay-marquee__heading {
  text-align: center;
  margin-bottom: 28px;
  opacity: 0;
  transform: translateY(8px);
  animation: pwReveal 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}
.pay-marquee__heading h2 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-size: clamp(1.6rem, 3.2vw, 2.4rem);
  font-weight: 800;
  color: var(--t1, #ededf0);
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0;
}
.pay-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
  opacity: 0;
  transform: translateY(8px);
  animation: pwReveal 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.6s forwards;
}
.pay-marquee:hover .pay-marquee__track {
  animation-play-state: paused;
}
.pay-marquee__track {
  display: flex;
  gap: 10px;
  width: max-content;
  will-change: transform;
  animation: payScroll 120s linear infinite;
}
@keyframes payScroll {
  to {
    transform: translateX(-50%);
  }
}

.pay-marquee__card {
  display: flex;
  align-items: center;
  background: var(--card, #141418);
  border: 1px solid var(--border, rgba(255, 255, 255, 0.06));
  border-radius: var(--r-sm, 10px);
  padding: 10px 14px;
  min-width: 250px;
  max-width: 260px;
  flex-shrink: 0;
  transition:
    border-color 0.3s var(--ease, ease),
    background 0.3s var(--ease, ease);
}
.pay-marquee__card:hover {
  border-color: var(--border-h, rgba(255, 255, 255, 0.12));
  background: rgba(255, 255, 255, 0.04);
}

.pay-marquee__avatar {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  overflow: hidden;
  margin-right: 10px;
  background: var(--bg-1, #0c0c0f);
  border: 1px solid var(--border, rgba(255, 255, 255, 0.06));
  flex-shrink: 0;
}
.pay-marquee__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pay-marquee__initial {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font, "DM Sans", sans-serif);
  font-weight: 600;
  font-size: 13px;
  background: color-mix(in srgb, var(--accent, #d4a853) 12%, transparent);
  color: var(--accent, #d4a853);
}

.pay-marquee__info {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  margin-right: 10px;
}
.pay-marquee__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--t1, #ededf0);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
.pay-marquee__time {
  font-size: 11px;
  color: var(--t3, #5a5a66);
  margin-top: 1px;
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.2;
}
.pay-marquee__time svg {
  width: 10px;
  height: 10px;
  opacity: 0.6;
  flex-shrink: 0;
}

.pay-marquee__pkg {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--t2, #8e8e9a);
  max-width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: auto;
}

@media (max-width: 768px) {
  .pay-marquee {
    padding: 14px 0 18px;
  }
  .pay-marquee__card {
    min-width: 190px;
    max-width: 210px;
    padding: 8px 12px;
  }
  .pay-marquee__avatar {
    width: 28px;
    height: 28px;
  }
  .pay-marquee__name {
    font-size: 12px;
  }
}

.pay-widget {
  border-radius: var(--r, 16px);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--border, rgba(255, 255, 255, 0.06));
  overflow: hidden;
  opacity: 0;
  transform: translateY(14px);
  animation: pwReveal 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
}

@keyframes pwReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pay-widget__head {
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  gap: 8px;
}
.pay-widget__live {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--success, #34d399);
  animation: pwLivePulse 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes pwLivePulse {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.4);
  }
  50% {
    opacity: 0.7;
    box-shadow: 0 0 0 4px rgba(52, 211, 153, 0);
  }
}
.pay-widget__title {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3, #5a5a66);
}
.pay-widget__list {
  display: flex;
  flex-direction: column;
  max-height: 480px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.04) transparent;
}
.pay-widget__list::-webkit-scrollbar {
  width: 3px;
}
.pay-widget__list::-webkit-scrollbar-track {
  background: transparent;
}
.pay-widget__list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
}
.pay-widget__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  transition: background 0.25s ease;
}
.pay-widget__item:hover {
  background: rgba(255, 255, 255, 0.02);
}
.pay-widget__avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--bg-1, #0c0c11);
  border: 1.5px solid var(--border, rgba(255, 255, 255, 0.06));
}
.pay-widget__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pay-widget__initial {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font, "DM Sans", sans-serif);
  font-weight: 600;
  font-size: 12px;
  background: color-mix(in srgb, var(--accent, #d4a853) 10%, transparent);
  color: var(--accent, #d4a853);
}
.pay-widget__meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pay-widget__name {
  font-size: 13px;
  font-weight: 500;
  color: var(--t1, #ededf0);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pay-widget__pkg {
  font-size: 12px;
  color: var(--t3, #5a5a66);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pay-widget__price {
  flex-shrink: 0;
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  color: var(--t2, #8e8e9a);
  white-space: nowrap;
}
.pay-widget__curr {
  font-size: 10px;
  opacity: 0.65;
}
.pay-widget__time {
  flex-shrink: 0;
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  color: var(--t3, #5a5a66);
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .pay-widget__list {
    max-height: 300px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pay-widget,
  .pay-marquee {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .pay-widget__item {
    transition: none;
  }
  .pay-marquee__track {
    animation: none;
  }
}

/* Source: index.html inline style 4, original line 6320 */
.seo-content--hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Source: index.html inline style 5, original line 7144 */
.pp-overlay {
  position: fixed;
  inset: 0;
  z-index: 2100;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.pp-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.pp-modal {
  width: 100%;
  max-width: 880px;
  max-height: min(85vh, 780px);
  background: #0e0e12;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transform: translateY(20px) scale(0.96);
  opacity: 0;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.7);
}
.pp-overlay.open .pp-modal {
  animation: ppIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes ppIn {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.pp-close {
  position: absolute;
  top: 28px;
  right: 28px;
  width: 28px;
  height: 28px;
  border-radius: 0;
  border: none;
  background: none;
  color: rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s ease;
  z-index: 3;
}
.pp-close:hover {
  color: rgba(255, 255, 255, 0.8);
}
.pp-close svg {
  width: 16px;
  height: 16px;
}

.pp-header {
  padding: 40px 44px 0;
  padding-right: 68px;
}
.pp-header h2 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 1.55rem;
  color: #ffffff;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 8px;
}
.pp-header__meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pp-header__sub {
  font-size: 14.5px;
  color: #a1a1aa;
  line-height: 1.4;
  font-family: var(--font, "DM Sans", sans-serif);
}
.pp-header__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 20px;
  padding: 0 7px;
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  line-height: 1;
}

.pp-toolbar {
  padding: 24px 44px 0;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}
.pp-search {
  position: relative;
  flex: 1;
  max-width: 320px;
}
.pp-search__icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  color: rgba(255, 255, 255, 0.2);
  pointer-events: none;
  transition: color 0.2s ease;
}
.pp-search__input {
  width: 100%;
  padding: 11px 14px 11px 38px;
  background: rgba(255, 255, 255, 0.04);
  border: none;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-family: var(--font, "DM Sans", sans-serif);
  transition: all 0.2s ease;
  outline: none;
}
.pp-search__input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.pp-search__input:focus {
  background: rgba(255, 255, 255, 0.06);
}
.pp-search__input:focus ~ .pp-search__icon {
  color: rgba(255, 255, 255, 0.4);
}

.pp-filters {
  display: flex;
  gap: 2px;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  flex-shrink: 0;
}
.pp-filter {
  padding: 8px 14px;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  color: rgba(255, 255, 255, 0.25);
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.pp-filter:hover {
  color: rgba(255, 255, 255, 0.6);
}
.pp-filter.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.07);
}

.pp-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.04);
  margin: 24px 44px 0;
}

.pp-body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 36px 36px;
}
.pp-body::-webkit-scrollbar {
  width: 0;
}

.pp-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 12px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 10px;
  margin-bottom: 0;
  transition: all 0.25s ease;
  position: relative;
}
.pp-card:last-child {
  border-bottom: none;
}
.pp-card:hover {
  background: rgba(255, 255, 255, 0.025);
}
.pp-card:hover .pp-card__img img {
  transform: scale(1.06);
}

.pp-card__img {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}
.pp-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.pp-card__img-fallback {
  color: rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.03),
    rgba(255, 255, 255, 0.01)
  );
}
.pp-card__img-fallback svg {
  width: 22px;
  height: 22px;
}

.pp-card__info {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.pp-card__name {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 14.5px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}
.pp-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pp-card__date {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12px;
  color: #71717a;
}
.pp-card__date--today {
  color: #a1a1aa;
  font-weight: 500;
}

.pp-card__txid {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  color: #3f3f46;
  cursor: pointer;
  transition: color 0.2s ease;
  padding: 4px 8px;
  border-radius: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
  flex-shrink: 0;
}
.pp-card__txid:hover {
  color: #a1a1aa;
  background: rgba(255, 255, 255, 0.03);
}
.pp-card__txid svg {
  width: 10px;
  height: 10px;
  opacity: 0.4;
  flex-shrink: 0;
}
.pp-card__txid.copied {
  color: #20a3e0;
}

.pp-card__price-col {
  flex-shrink: 0;
  text-align: right;
  min-width: 90px;
}
.pp-card__price {
  font-family: var(--font-display, "Sora", sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
  display: block;
  line-height: 1.2;
  white-space: nowrap;
}

.pp-card__view-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 10px;
}

.pp-card__ext {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.08);
  transition: color 0.2s ease;
}
.pp-card:hover .pp-card__ext {
  color: rgba(255, 255, 255, 0.3);
}
.pp-card__ext svg {
  width: 12px;
  height: 12px;
}

.pp-skeleton {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0;
}
.pp-skeleton__card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 16px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 12px;
}
.pp-skeleton__img {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  animation: ppPulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
.pp-skeleton__lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pp-skeleton__line {
  height: 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  animation: ppPulse 1.8s ease-in-out infinite;
}
.pp-skeleton__line:nth-child(1) {
  width: 55%;
}
.pp-skeleton__line:nth-child(2) {
  width: 35%;
  animation-delay: 0.15s;
}
.pp-skeleton__price {
  width: 65px;
  height: 18px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  animation: ppPulse 1.8s ease-in-out infinite;
  animation-delay: 0.3s;
  flex-shrink: 0;
}
@keyframes ppPulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}

.pp-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 56px 32px 32px;
}
.pp-empty__visual {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.pp-empty__visual svg {
  width: 26px;
  height: 26px;
  color: rgba(255, 255, 255, 0.2);
}
.pp-empty h3 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 8px;
}
.pp-empty p {
  color: rgba(255, 255, 255, 0.3);
  font-size: 13.5px;
  max-width: 250px;
  line-height: 1.6;
}
.pp-empty__btn {
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: 10px;
  background: #20a3e0;
  color: #0c0c0f;
  font-family: var(--font-display, "Sora", sans-serif);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}
.pp-empty__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.1);
}
.pp-empty__btn svg {
  width: 14px;
  height: 14px;
}

.pp-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  padding: 10px 18px;
  background: #16161a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12.5px;
  color: #20a3e0;
  z-index: 2200;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
.pp-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.pp-toast svg {
  width: 13px;
  height: 13px;
}

@media (max-width: 900px) {
  .pp-modal {
    max-width: 100%;
  }
  .pp-card__txid {
    max-width: 180px;
    font-size: 10px;
  }
}
@media (max-width: 640px) {
  .pp-overlay {
    padding: 0;
    align-items: flex-end;
  }
  .pp-modal {
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
    border-bottom: none;
  }
  .pp-header {
    padding: 28px 20px 0;
    padding-right: 52px;
  }
  .pp-toolbar {
    padding: 20px 20px 0;
    flex-direction: column;
    gap: 10px;
  }
  .pp-search {
    max-width: 100%;
  }
  .pp-filters {
    width: 100%;
  }
  .pp-filter {
    flex: 1;
  }
  .pp-divider {
    margin: 16px 20px 0;
  }
  .pp-body {
    padding: 6px 14px 24px;
  }
  .pp-card {
    padding: 14px 8px;
    gap: 10px;
  }
  .pp-card__img {
    width: 40px;
    height: 40px;
  }
  .pp-card__name {
    font-size: 13.5px;
  }
  .pp-card__price {
    font-size: 13px;
  }
  .pp-card__txid {
    display: none;
  }
  .pp-card__info {
    gap: 10px;
  }
}

/* Source: index.html inline style 6, original line 7980 */
.wl-overlay {
  position: fixed;
  inset: 0;
  z-index: 2100;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.wl-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.wl-modal {
  width: 100%;
  max-width: 720px;
  max-height: min(88vh, 840px);
  background: #0e0e12;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transform: translateY(20px) scale(0.96);
  opacity: 0;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.7);
}
.wl-overlay.open .wl-modal {
  animation: wlIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes wlIn {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.wl-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 28px;
  height: 28px;
  border-radius: 0;
  border: none;
  background: none;
  color: rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s ease;
  z-index: 3;
}
.wl-close:hover {
  color: rgba(255, 255, 255, 0.8);
}
.wl-close svg {
  width: 14px;
  height: 14px;
}

.wl-header {
  padding: 32px 32px 0;
  padding-right: 64px;
}
.wl-header h2 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 8px;
}
.wl-header__meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wl-header__sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1.4;
  font-family: var(--font, "DM Sans", sans-serif);
}
.wl-header__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 20px;
  padding: 0 7px;
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  line-height: 1;
}

.wl-toolbar {
  padding: 24px 32px 0;
  display: flex;
  gap: 10px;
  align-items: center;
}
.wl-search {
  position: relative;
  flex: 1;
}
.wl-search__icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  color: rgba(255, 255, 255, 0.2);
  pointer-events: none;
  transition: color 0.2s ease;
}
.wl-search__input {
  width: 100%;
  padding: 11px 14px 11px 38px;
  background: rgba(255, 255, 255, 0.04);
  border: none;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-family: var(--font, "DM Sans", sans-serif);
  transition: all 0.2s ease;
  outline: none;
}
.wl-search__input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.wl-search__input:focus {
  background: rgba(255, 255, 255, 0.06);
}
.wl-search__input:focus ~ .wl-search__icon {
  color: rgba(255, 255, 255, 0.4);
}

.wl-clear-btn {
  padding: 0;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.25);
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.wl-clear-btn:hover {
  color: rgba(255, 255, 255, 0.7);
}

.wl-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.04);
  margin: 20px 32px 0;
}

.wl-body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px 28px;
}
.wl-body::-webkit-scrollbar {
  width: 3px;
}
.wl-body::-webkit-scrollbar-track {
  background: transparent;
}
.wl-body::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
}

.wl-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 16px;
  background: none;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 0;
  margin-bottom: 0;
  transition: background 0.2s ease;
  position: relative;
}
.wl-card:last-child {
  border-bottom: none;
}
.wl-card:hover {
  background: rgba(255, 255, 255, 0.02);
}

.wl-card__img {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.wl-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wl-card__img-fallback {
  color: rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.03),
    rgba(255, 255, 255, 0.01)
  );
}
.wl-card__img-fallback svg {
  width: 22px;
  height: 22px;
}

.wl-card__info {
  flex: 1;
  min-width: 0;
}
.wl-card__name {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 14.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 4px;
}
.wl-card__category {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 10.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.2);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.wl-card__date {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.18);
  margin-top: 2px;
}

.wl-card__price-col {
  flex-shrink: 0;
  text-align: right;
  padding-right: 2px;
}
.wl-card__price {
  font-family: var(--font-display, "Sora", sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  display: block;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -0.02em;
}
.wl-card__price--sale {
  color: var(--danger, #ff4d6a);
}
.wl-card__price-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
.wl-card__base-price {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--t3, #5a5a66);
  text-decoration: line-through;
  line-height: 1;
  white-space: nowrap;
}
.wl-card__sale {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--r-xs, 6px);
  background: var(--danger, #ff4d6a);
  color: #fff;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.wl-card__link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 12px;
}

.wl-card__remove {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.1);
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  border-radius: 6px;
  transition: all 0.2s ease;
  position: relative;
  z-index: 2;
}
.wl-card__remove:hover {
  color: #ff4d6a;
  background: rgba(255, 77, 106, 0.08);
}
.wl-card__remove svg {
  width: 14px;
  height: 14px;
}

.wl-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 56px 32px 32px;
}
.wl-empty__visual {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.wl-empty__visual svg {
  width: 26px;
  height: 26px;
  color: rgba(255, 255, 255, 0.2);
}
.wl-empty h3 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 8px;
}
.wl-empty p {
  color: rgba(255, 255, 255, 0.3);
  font-size: 13.5px;
  max-width: 260px;
  line-height: 1.6;
}
.wl-empty__btn {
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: 10px;
  background: #20a3e0;
  color: #0c0c0f;
  font-family: var(--font-display, "Sora", sans-serif);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}
.wl-empty__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.1);
}
.wl-empty__btn svg {
  width: 14px;
  height: 14px;
}

.wl-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  padding: 10px 18px;
  background: #16161a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12.5px;
  color: #20a3e0;
  z-index: 2200;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
.wl-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.wl-toast svg {
  width: 13px;
  height: 13px;
}

.wl-heart {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
  flex-shrink: 0;
  position: relative;
  z-index: 5;
}
.wl-heart svg {
  width: 16px;
  height: 16px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.wl-heart:hover {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.5);
}
.wl-heart.active {
  color: #ff4d6a;
  border-color: rgba(255, 77, 106, 0.2);
  background: rgba(255, 77, 106, 0.08);
}
.wl-heart.active svg {
  fill: #ff4d6a;
}
.wl-heart.pop svg {
  animation: wlPop 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes wlPop {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}

.crux-wl-heart {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  transition:
    opacity 0.25s ease,
    background 0.25s ease,
    color 0.25s ease;
}
.crux-pkg-card:hover .crux-wl-heart,
.crux-wl-heart.active {
  opacity: 1;
}
.crux-wl-heart:hover {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
}
.crux-wl-heart.active {
  background: rgba(255, 77, 106, 0.2);
  color: #ff4d6a;
}
.crux-wl-heart.active:hover {
  background: rgba(255, 77, 106, 0.3);
}

.wl-skeleton {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 4px 0;
}
.wl-skeleton__card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.03);
  border-radius: 12px;
}
.wl-skeleton__img {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  animation: wlPulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
.wl-skeleton__lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wl-skeleton__line {
  height: 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  animation: wlPulse 1.8s ease-in-out infinite;
}
.wl-skeleton__line:nth-child(1) {
  width: 55%;
}
.wl-skeleton__line:nth-child(2) {
  width: 35%;
  animation-delay: 0.15s;
}
.wl-skeleton__price {
  width: 65px;
  height: 18px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  animation: wlPulse 1.8s ease-in-out infinite;
  animation-delay: 0.3s;
  flex-shrink: 0;
}
@keyframes wlPulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}

@media (max-width: 640px) {
  .wl-overlay {
    padding: 0;
    align-items: flex-end;
  }
  .wl-modal {
    max-width: 100%;
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
    border-bottom: none;
  }
  .wl-header {
    padding: 28px 24px 0;
    padding-right: 60px;
  }
  .wl-toolbar {
    padding: 20px 24px 0;
  }
  .wl-divider {
    margin: 16px 24px 0;
  }
  .wl-body {
    padding: 10px 12px 24px;
  }
  .wl-card {
    padding: 14px 12px;
    gap: 12px;
  }
  .wl-card__img {
    width: 48px;
    height: 48px;
  }
  .wl-card__name {
    font-size: 13.5px;
  }
  .wl-card__price {
    font-size: 13px;
  }
}

/* Source: index.html inline style 7, original line 8858 */
.loy-overlay {
  position: fixed;
  inset: 0;
  z-index: 2100;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.loy-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.loy-modal {
  width: 100%;
  max-width: 820px;
  max-height: min(88vh, 780px);
  background: #0e0e12;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transform: translateY(20px) scale(0.96);
  opacity: 0;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.7);
}
.loy-overlay.open .loy-modal {
  animation: loyIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes loyIn {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.loy-close {
  position: absolute;
  top: 28px;
  right: 28px;
  width: 28px;
  height: 28px;
  border-radius: 0;
  border: none;
  background: none;
  color: rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s ease;
  z-index: 3;
}
.loy-close:hover {
  color: rgba(255, 255, 255, 0.8);
}
.loy-close svg {
  width: 16px;
  height: 16px;
}

.loy-header {
  padding: 40px 44px 0;
  padding-right: 68px;
}
.loy-header h2 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 1.55rem;
  color: #ffffff;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 10px;
}
.loy-header__sub {
  font-size: 14.5px;
  color: #a1a1aa;
  line-height: 1.4;
  font-family: var(--font, "DM Sans", sans-serif);
}

.loy-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.04);
  margin: 28px 44px 0;
}

.loy-body {
  flex: 1;
  overflow-y: auto;
  padding: 32px 44px 44px;
}
.loy-body::-webkit-scrollbar {
  width: 0;
}

.loy-rank {
  padding: 26px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 14px;
  margin-bottom: 32px;
  position: relative;
  overflow: hidden;
}
.loy-rank::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 14px;
  background: radial-gradient(
    ellipse at 30% 20%,
    var(--loy-glow, rgba(212, 168, 83, 0.06)) 0%,
    transparent 70%
  );
  pointer-events: none;
}
.loy-rank__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
.loy-rank__info {
  display: flex;
  align-items: center;
  gap: 14px;
}
.loy-rank__icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.loy-rank__icon svg {
  width: 22px;
  height: 22px;
}
.loy-rank__name {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
}
.loy-rank__label {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #71717a;
  margin-top: 3px;
}
.loy-rank__points {
  text-align: right;
}
.loy-rank__points-value {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 30px;
  color: #ffffff;
  line-height: 1;
  letter-spacing: -0.02em;
}
.loy-rank__points-unit {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #71717a;
  margin-top: 5px;
}

.loy-progress-wrap {
  position: relative;
  margin-bottom: 10px;
}
.loy-progress {
  height: 4px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 2px;
  overflow: hidden;
}
.loy-progress__bar {
  height: 100%;
  border-radius: 2px;
  transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  min-width: 2px;
}
.loy-progress__labels {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}
.loy-progress__label {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11.5px;
  font-weight: 500;
  color: #71717a;
}

.loy-grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 0 48px;
  align-items: start;
}

.loy-rewards {
  margin-bottom: 0;
}
.loy-rewards__title {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #71717a;
  margin-bottom: 8px;
}

.loy-reward {
  display: flex;
  align-items: center;
  padding: 14px 16px;
  border-bottom: none;
  transition: all 0.25s ease;
  gap: 16px;
  border-radius: 12px;
}
.loy-reward--locked {
  opacity: 0.55;
}
.loy-reward--unlocked {
  cursor: pointer;
  background: rgba(255, 255, 255, 0.035);
}
.loy-reward--unlocked:hover {
  background: rgba(255, 255, 255, 0.06);
}

.loy-reward__icon {
  width: 42px;
  height: 42px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: none;
  color: rgba(255, 255, 255, 0.35);
}
.loy-reward__icon svg {
  width: 18px;
  height: 18px;
}

.loy-reward__info {
  flex: 1;
  min-width: 0;
}
.loy-reward__label {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 15.5px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}
.loy-reward__status {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12.5px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 3px;
}
.loy-reward--locked .loy-reward__status {
  color: #a1a1aa;
}
.loy-reward--unlocked .loy-reward__status {
  color: #20a3e0;
  opacity: 0.7;
}

.loy-reward__state {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.15);
}
.loy-reward__state svg {
  width: 16px;
  height: 16px;
}
.loy-reward--unlocked .loy-reward__state {
  color: #20a3e0;
  opacity: 0.6;
}

.loy-history {
  margin-top: 0;
  padding-top: 2px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.loy-history__title {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #71717a;
  margin-bottom: 8px;
  flex-shrink: 0;
}
.loy-history__list {
  flex: 1;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.loy-history__list::-webkit-scrollbar {
  display: none;
}

.loy-history-item {
  display: flex;
  align-items: center;
  padding: 9px 0;
  gap: 14px;
}
.loy-history-item__img {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.03);
  margin-right: 2px;
}
.loy-history-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.loy-history-item__stack {
  position: relative;
  width: 42px;
  height: 36px;
  flex-shrink: 0;
  margin-right: 2px;
}
.loy-history-item__stack-img {
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid #0e0e12;
  background: rgba(255, 255, 255, 0.03);
}
.loy-history-item__stack-img:nth-child(1) {
  top: 0;
  left: 0;
}
.loy-history-item__stack-img:nth-child(2) {
  top: 4px;
  left: 10px;
}
.loy-history-item__stack-img:nth-child(3) {
  top: 8px;
  left: 20px;
}
.loy-history-item__stack-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.loy-history-item__info {
  flex: 1;
  min-width: 0;
}
.loy-history-item__name {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 14px;
  color: #d4d4d8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.loy-history-item__date {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 11.5px;
  color: #71717a;
  margin-top: 2px;
}
.loy-history-item__points {
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 13.5px;
  font-weight: 600;
  color: #20a3e0;
  opacity: 0.7;
  flex-shrink: 0;
  white-space: nowrap;
}

.loy-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 56px 32px 32px;
}
.loy-empty__visual {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.loy-empty__visual svg {
  width: 26px;
  height: 26px;
  color: rgba(255, 255, 255, 0.2);
}
.loy-empty h3 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 8px;
}
.loy-empty p {
  color: rgba(255, 255, 255, 0.3);
  font-size: 13.5px;
  max-width: 260px;
  line-height: 1.6;
}
.loy-empty__btn {
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: 10px;
  background: #20a3e0;
  color: #0c0c0f;
  font-family: var(--font-display, "Sora", sans-serif);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}
.loy-empty__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.1);
}
.loy-empty__btn svg {
  width: 14px;
  height: 14px;
}

.loy-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  padding: 10px 18px;
  background: #16161a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 12.5px;
  color: #20a3e0;
  z-index: 2200;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
.loy-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.loy-toast svg {
  width: 13px;
  height: 13px;
}

@media (max-width: 860px) {
  .loy-modal {
    max-width: 100%;
  }
  .loy-grid {
    grid-template-columns: 1fr;
    gap: 28px 0;
  }
  .loy-header {
    padding: 28px 28px 0;
    padding-right: 56px;
  }
  .loy-divider {
    margin: 22px 28px 0;
  }
  .loy-body {
    padding: 22px 28px 32px;
  }
}
@media (max-width: 640px) {
  .loy-overlay {
    padding: 0;
    align-items: flex-end;
  }
  .loy-modal {
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
    border-bottom: none;
  }
  .loy-header {
    padding: 24px 20px 0;
    padding-right: 52px;
  }
  .loy-divider {
    margin: 18px 20px 0;
  }
  .loy-body {
    padding: 18px 18px 24px;
  }
  .loy-rank {
    padding: 16px;
  }
  .loy-rank__points-value {
    font-size: 18px;
  }
}

/* Source: index.html inline style 8, original line 9921 */
.gs-wrap {
  position: relative;
  flex-shrink: 0;
}

.gs-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--r-sm, 10px);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.gs-bar:hover {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
}
.gs-bar__icon {
  width: 17px;
  height: 17px;
  color: rgba(255, 255, 255, 0.35);
  flex-shrink: 0;
  transition: color 0.2s ease;
}
.gs-bar:hover .gs-bar__icon {
  color: rgba(255, 255, 255, 0.6);
}

.gs-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 50%;
  transform-origin: top center;
  translate: 50% 0;
  width: 420px;
  max-height: 480px;
  background: #111116;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.2s ease,
    visibility 0.2s;
  z-index: 1100;
}
.gs-dropdown.open {
  opacity: 1;
  visibility: visible;
}

.gs-dropdown__search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.gs-dropdown__search svg {
  width: 16px;
  height: 16px;
  color: rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
}
.gs-dropdown__input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 14px;
  font-weight: 400;
  padding: 0;
}
.gs-dropdown__input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}

.gs-dropdown__body {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
}
.gs-dropdown__body.gs-body--empty {
  display: none;
}
.gs-dropdown__search.gs-search--no-border {
  border-bottom-color: transparent;
}
.gs-dropdown__body::-webkit-scrollbar {
  width: 3px;
}
.gs-dropdown__body::-webkit-scrollbar-track {
  background: transparent;
}
.gs-dropdown__body::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
}

.gs-label {
  padding: 6px 10px 6px;
  font-family: var(--mono, "IBM Plex Mono", monospace);
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.2);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.gs-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  margin-bottom: 2px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.12s ease;
  text-decoration: none;
  color: inherit;
}
.gs-item:hover,
.gs-item.active {
  background: rgba(255, 255, 255, 0.05);
}

.gs-item--cat .gs-item__icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.gs-item--cat .gs-item__icon svg {
  width: 16px;
  height: 16px;
  color: rgba(255, 255, 255, 0.18);
}

.gs-item__img {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.gs-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gs-item__img-fallback {
  color: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.gs-item__img-fallback svg {
  width: 16px;
  height: 16px;
}

.gs-item__info {
  flex: 1;
  min-width: 0;
}
.gs-item__name {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gs-item__name mark {
  background: none;
  color: #20a3e0;
  font-weight: 700;
}
.gs-item__meta {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.18);
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gs-item__price-col {
  flex-shrink: 0;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.gs-item__price {
  font-family: var(--font-display, "Sora", sans-serif);
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  line-height: 1;
  letter-spacing: -0.02em;
}
.gs-item__price--sale {
  color: var(--danger, #ff4d6a);
}
.gs-item__price-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
}
.gs-item__base-price {
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 11px;
  font-weight: 500;
  color: var(--t3, #5a5a66);
  text-decoration: line-through;
  line-height: 1;
  white-space: nowrap;
}
.gs-item__discount {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: var(--r-xs, 6px);
  background: var(--danger, #ff4d6a);
  color: #fff;
  font-family: var(--font, "DM Sans", sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.gs-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 36px 20px 28px;
}
.gs-empty__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.gs-empty__icon svg {
  width: 20px;
  height: 20px;
  color: rgba(255, 255, 255, 0.12);
}
.gs-empty h3 {
  font-family: var(--font-display, "Sora", sans-serif);
  font-weight: 700;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 4px;
}
.gs-empty p {
  color: rgba(255, 255, 255, 0.2);
  font-size: 12.5px;
  line-height: 1.5;
}

.gs-loading {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 4px 0;
}
.gs-loading__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 8px;
}
.gs-loading__img {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  animation: gsPulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
.gs-loading__lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.gs-loading__line {
  height: 7px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.04);
  animation: gsPulse 1.8s ease-in-out infinite;
}
.gs-loading__line:nth-child(1) {
  width: 50%;
}
.gs-loading__line:nth-child(2) {
  width: 30%;
  animation-delay: 0.15s;
}
.gs-loading__price {
  width: 50px;
  height: 14px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.04);
  animation: gsPulse 1.8s ease-in-out infinite;
  animation-delay: 0.3s;
  flex-shrink: 0;
}
@keyframes gsPulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}

@media (max-width: 640px) {
  .gs-dropdown {
    position: fixed;
    top: 12px;
    left: 12px;
    right: 12px;
    width: auto;
    max-height: 80vh;
    border-radius: 14px;
  }
}

/* SpartanCAD shop theme alignment */
:root {
  --bg-0: #0c0c0f;
  --bg-1: #0b0c10;
  --bg-2: #090a0d;
  --surface: #101217;
  --surface-2: #14161c;
  --card: #141418;
  --border: rgba(255, 255, 255, 0.075);
  --border-h: rgba(255, 255, 255, 0.14);
  --t1: #ededf0;
  --t2: rgba(237, 237, 240, 0.62);
  --t3: rgba(237, 237, 240, 0.38);
  --accent: #20a3e0;
  --accent-h: #3b8ed8;
  --accent-rgb: 32, 163, 224;
  --accent-bg: rgba(32, 163, 224, 0.1);
  --accent-border: rgba(32, 163, 224, 0.32);
  --accent-glow: rgba(32, 163, 224, 0.18);
  --accent-dim: rgba(32, 163, 224, 0.055);
  --cad-blue: #347fc3;
  --cad-gold: #d7b64d;
  --r: 8px;
  --r-sm: 7px;
  --r-xs: 5px;
}

body {
  background:
    linear-gradient(180deg, rgba(32, 163, 224, 0.025), transparent 420px),
    linear-gradient(180deg, #0c0c0f 0%, #090a0d 72%, #07080b 100%);
  color: var(--t2);
  font-family: var(--font);
  font-weight: 500;
}

body::before {
  opacity: 0.022;
}

h1,
h2,
h3,
h4,
.section-header h2,
.lp-hero__title,
.lp-sec__title,
.fp-header h2,
.flagship-products__title h2,
.footer__brand-text {
  letter-spacing: 0;
}

.btn,
.lp-btn,
.product-card__button,
.fp__btn-add,
.fp__btn-info,
.login-modal__btn,
.login-modal__cancel,
.cart-drawer__checkout-btn,
.pp-empty__btn,
.wl-empty__btn,
.loy-empty__btn {
  border-radius: 7px;
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: 0;
}

.btn--accent,
.lp-btn--primary,
.product-card--large .product-card__button,
.fp__btn-add:hover,
.login-modal__btn,
.cart-drawer__checkout-btn,
.pp-empty__btn,
.wl-empty__btn,
.loy-empty__btn {
  border: 1px solid rgba(32, 163, 224, 0.86);
  background: var(--accent);
  color: #061018;
  box-shadow: 0 18px 42px rgba(32, 163, 224, 0.16);
}

.btn--accent:hover,
.lp-btn--primary:hover,
.product-card--large .product-card__button:hover,
.login-modal__btn:hover,
.cart-drawer__checkout-btn:hover,
.pp-empty__btn:hover,
.wl-empty__btn:hover,
.loy-empty__btn:hover {
  background: var(--accent);
  color: #061018;
  transform: translateY(-2px);
  box-shadow: 0 22px 54px rgba(32, 163, 224, 0.22);
  filter: none;
}

.lp-btn--primary::before,
.cart-drawer__checkout-btn::before {
  display: none;
}

.btn--glass,
.btn--ghost,
.lp-btn--secondary,
.product-card__button,
.fp__btn-add,
.fp__btn-info,
.login-modal__cancel {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  box-shadow: none;
}

.btn--glass:hover,
.btn--ghost:hover,
.lp-btn--secondary:hover,
.product-card__button:hover,
.fp__btn-info:hover,
.login-modal__cancel:hover {
  border-color: rgba(32, 163, 224, 0.7);
  background: rgba(32, 163, 224, 0.12);
  color: #fff;
  transform: translateY(-2px);
}

.header__nav,
.header__nav-dropdown,
.header__currency-dropdown,
.header__user-dropdown,
.mobile-nav,
.gs-dropdown {
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background:
    linear-gradient(150deg, rgba(32, 163, 224, 0.06), transparent 46%),
    rgba(15, 15, 20, 0.88);
  box-shadow:
    0 24px 58px rgba(0, 0, 0, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.header__nav {
  padding: 5px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.header__nav a,
.header__currency,
.header__login,
.header__shop-group,
.header__hamburger,
.gs-bar {
  border-radius: 7px;
}

.header__nav a {
  padding: 10px 18px;
  color: rgba(237, 237, 240, 0.56);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}

.header__nav a:hover,
.header__nav a.active {
  color: #fff;
  background: rgba(32, 163, 224, 0.1);
  border-color: rgba(32, 163, 224, 0.28);
  box-shadow: none;
}

.header__logo,
.header__monogram {
  filter: drop-shadow(0 12px 24px rgba(32, 163, 224, 0.1));
}

.header__currency,
.header__login,
.header__shop-group,
.gs-bar {
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.045);
  color: rgba(237, 237, 240, 0.84);
}

.header__currency:hover,
.header__login:hover,
.header__shop-group:hover,
.gs-bar:hover {
  border-color: rgba(32, 163, 224, 0.32);
  background: rgba(32, 163, 224, 0.1);
  color: #fff;
}

.lp-hero {
  background:
    linear-gradient(180deg, rgba(32, 163, 224, 0.024) 0%, rgba(32, 163, 224, 0) 520px),
    linear-gradient(180deg, #0c0c0f 0%, #0b0c10 46%, #090a0d 78%, #07080b 100%);
}

.lp-hero__bg-img {
  opacity: 0.42 !important;
  filter: brightness(0.68) saturate(0.92) contrast(1.03);
}

.lp-hero__bg-gradient {
  background:
    linear-gradient(90deg, rgba(12, 12, 15, 0.92) 0%, rgba(12, 12, 15, 0.78) 36%, rgba(12, 12, 15, 0.58) 66%, rgba(12, 12, 15, 0.9) 100%),
    linear-gradient(180deg, rgba(12, 12, 15, 0.28) 0%, rgba(12, 12, 15, 0.74) 42%, #0c0c0f 96%);
}

.lp-hero__eyebrow,
.label,
.cad-kicker {
  color: var(--accent);
  font-family: var(--mono);
  font-weight: 800;
}

.lp-hero__eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: 0.55;
}

.lp-hero__title {
  max-width: 920px;
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: 0.98;
}

.lp-hero__title-accent,
.lp-hero--wave .lp-hero__title-accent,
.lp-hero--pulse .lp-hero__title-accent,
.lp-hero--neon .lp-hero__title-accent,
.lp-hero--fire .lp-hero__title-accent,
.lp-hero--glitch .lp-hero__title-accent,
.lp-hero--aurora .lp-hero__title-accent,
.lp-hero--shimmer .lp-hero__title-accent,
.lp-hero--gleam .lp-hero__title-accent {
  background: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: var(--accent) !important;
  color: var(--accent) !important;
  animation: none !important;
  filter: none !important;
}

.lp-hero__subtitle {
  color: rgba(237, 237, 240, 0.62);
  font-weight: 500;
}

.lp-particle {
  box-shadow: 0 0 14px rgba(32, 163, 224, 0.26);
}

.lp-hero__stat-val,
.lp-feature__title,
.product-card h3,
.fp__name,
.lp-review__name,
.lp-faq-item summary {
  font-weight: 800;
  letter-spacing: 0;
}

.lp-hero__stat-label,
.lp-feature__desc,
.product-card p,
.fp-header__sub,
.lp-review__text,
.lp-review__role,
.lp-faq-answer {
  color: rgba(237, 237, 240, 0.56);
}

.lp-feature,
.lp-review,
.lp-faq-item,
.product-card,
.fp,
.notice-card,
.login-modal,
.cart-drawer,
.pp-modal,
.wl-modal,
.loy-modal,
.cad-comparison-table-wrap {
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.028), transparent 76%),
    rgba(18, 19, 23, 0.82);
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.24);
}

.lp-feature {
  align-items: center;
  padding: 14px 16px;
}

.lp-feature:hover,
.lp-review:hover,
.lp-faq-item:hover,
.product-card:hover,
.fp:hover {
  border-color: rgba(32, 163, 224, 0.26);
  background:
    linear-gradient(180deg, rgba(32, 163, 224, 0.07), transparent 76%),
    rgba(18, 19, 23, 0.88);
  box-shadow: 0 26px 64px rgba(0, 0, 0, 0.3);
}

.lp-feature__icon,
.checkout-empty__icon,
.pp-empty__visual,
.wl-empty__visual,
.loy-empty__visual {
  border-radius: 7px;
  border-color: rgba(32, 163, 224, 0.24);
  background: rgba(32, 163, 224, 0.1);
  color: var(--accent);
}

.flagship-products__title h2 {
  max-width: 820px;
  font-size: clamp(2.35rem, 5.5vw, 5.65rem);
  line-height: 0.98;
}

.flagship-products__intro {
  color: rgba(237, 237, 240, 0.62);
}

.product-card {
  transform: none;
}

.product-card::after {
  background: linear-gradient(145deg, rgba(32, 163, 224, 0.1), transparent 38%);
  opacity: 0.62;
}

.product-card:hover {
  transform: translateY(-2px);
}

.product-card__media,
.product-card__media--dispatch,
.fp__image-wrapper {
  background:
    radial-gradient(circle at 50% 35%, rgba(32, 163, 224, 0.12), transparent 36%),
    #08090d;
}

.product-card__media img,
.fp__image {
  filter: brightness(0.78) saturate(0.92);
}

.product-card:hover .product-card__media img,
.fp__link:hover .fp__image {
  filter: brightness(0.95) saturate(0.98);
}

.product-card__badge,
.fp__top-badge,
.checkout-item__tag,
.checkout-coupon-tag,
.pp-header__badge,
.wl-header__badge,
.loy-dropdown-badge {
  border-radius: 999px;
  border-color: rgba(32, 163, 224, 0.28);
  background: rgba(32, 163, 224, 0.1);
  color: var(--accent);
}

.product-card__price,
.price,
.fp__link:hover .fp__name,
.checkout-item__price,
.cart-drawer__total-price,
.checkout-summary__row--total span:last-child,
.gs-item__price {
  color: var(--accent);
}

.fp::after {
  background: linear-gradient(90deg, var(--accent), var(--cad-gold));
}

.fp {
  border-top-color: rgba(255, 255, 255, 0.075);
}

.fp__btn-add {
  height: 44px;
  font-family: var(--font-display);
  font-size: 12px;
}

.fp__btn-info {
  height: 44px;
  width: 44px;
}

.lp-review__quote {
  color: var(--accent);
  font-family: var(--font-display);
  opacity: 0.22;
}

.lp-review__stars svg {
  fill: var(--cad-gold);
  color: var(--cad-gold);
}

.lp-faq-item[open] {
  border-color: rgba(32, 163, 224, 0.26);
  background:
    linear-gradient(180deg, rgba(32, 163, 224, 0.08), transparent 82%),
    rgba(18, 19, 23, 0.86);
}

.footer {
  background: linear-gradient(180deg, #090a0d 0%, #07080b 100%);
}

.footer__brand-text {
  font-family: var(--font-display);
}

.footer__social a,
.footer__payment-badge,
.cart-drawer .checkout-item,
.cart-drawer__account,
.cart-drawer__loyalty-row,
.checkout-coupon input,
.checkout-item__qty,
.checkout-item__qty-btn,
.checkout-item__qty-val {
  border-radius: 7px;
}

.login-modal,
.cart-drawer,
.pp-modal,
.wl-modal,
.loy-modal {
  background:
    radial-gradient(circle at 86% 0%, rgba(52, 127, 195, 0.08), transparent 38%),
    linear-gradient(180deg, rgba(21, 23, 28, 0.98), rgba(13, 14, 18, 0.98));
}

.cart-drawer {
  border-radius: 8px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.cart-drawer.open {
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.cart-drawer__title {
  background: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: #fff;
  color: #fff;
  letter-spacing: 0;
}

.cart-drawer__close,
.login-modal__close,
.pp-close,
.wl-close,
.loy-close,
.scroll-top {
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.045);
}

.cart-drawer__close:hover,
.login-modal__close:hover,
.pp-close:hover,
.wl-close:hover,
.loy-close:hover,
.scroll-top:hover {
  border-color: rgba(32, 163, 224, 0.34);
  background: rgba(32, 163, 224, 0.1);
  color: #fff;
  transform: translateY(-1px);
}

.cart-drawer .checkout-item {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 70%),
    rgba(15, 16, 20, 0.82);
}

.cart-drawer .checkout-item:hover {
  transform: translateY(-1px);
  border-color: rgba(32, 163, 224, 0.22);
  background:
    linear-gradient(180deg, rgba(32, 163, 224, 0.06), transparent 70%),
    rgba(15, 16, 20, 0.88);
}

.cart-drawer .checkout-item__img {
  border-radius: 7px;
}

.cart-drawer .checkout-item__price {
  border-radius: 999px;
  color: rgba(237, 237, 240, 0.88);
}

.notice-card.is-min {
  border-color: rgba(32, 163, 224, 0.22);
  background:
    linear-gradient(135deg, rgba(32, 163, 224, 0.1), transparent 48%),
    rgba(18, 19, 23, 0.94);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}

.notice-card.is-min .notice-card__min {
  background: rgba(32, 163, 224, 0.1);
  color: rgba(237, 237, 240, 0.82);
}

.notice-card.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
}

.cart-drawer__checkout-btn {
  min-height: 46px;
  padding: 0 24px;
  font-size: 15px;
}

.gs-dropdown {
  background:
    radial-gradient(circle at 90% 0%, rgba(32, 163, 224, 0.08), transparent 34%),
    rgba(13, 15, 20, 0.96);
}

.gs-item:hover,
.gs-item.active,
.pp-card:hover,
.wl-card:hover,
.loy-reward--unlocked:hover {
  border-color: rgba(32, 163, 224, 0.22);
  background: rgba(32, 163, 224, 0.08);
}

@media (max-width: 768px) {
  .lp-hero__title {
    font-size: clamp(2.4rem, 10vw, 3.35rem);
  }

  .lp-hero {
    padding-bottom: 118px;
  }

  .lp-features__grid {
    grid-template-columns: 1fr;
  }

  .lp-btn {
    width: 100%;
    justify-content: center;
  }

  .scroll-top {
    display: none;
  }
}

@media (max-width: 640px) {
  .gs-dropdown {
    border-radius: 8px;
  }
}

@media (max-width: 540px) {
  .notice-card.is-min {
    right: 14px;
    bottom: 14px;
    max-width: calc(100vw - 28px);
  }
}
