:root {
  --bg: #050505;
  --panel: #0b0b0b;
  --panel-soft: #111;
  --text: #f2f2f2;
  --muted: #8a8a8a;
  --line: rgba(255, 255, 255, 0.12);
  --accent: #b91c1c;
  --signal: #d8d8d8;
  --max: 1180px;
  --font-display: "DIN Condensed", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Neue Haas Grotesk Text", "Helvetica Neue", Arial, sans-serif;
  --font-zh: "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 12% 4%, rgba(185, 28, 28, 0.16), transparent 28rem),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 78px 78px, auto;
  color: var(--text);
  font-family: var(--font-body);
  line-height: 1.6;
  animation: page-enter 700ms ease both;
}

body[data-lang="zh"] {
  font-family: var(--font-zh);
}

@keyframes page-enter {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

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

a {
  color: inherit;
  text-decoration: none;
}

p {
  color: var(--muted);
  margin: 0 0 1rem;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: 0;
}

body[data-lang="zh"] h1,
body[data-lang="zh"] h2,
body[data-lang="zh"] h3,
body[data-lang="zh"] h4 {
  font-family: var(--font-zh);
  font-weight: 700;
}

h1 {
  font-size: clamp(3.6rem, 12vw, 11rem);
  text-transform: uppercase;
}

h2 {
  font-size: clamp(2rem, 5vw, 4.8rem);
  text-transform: uppercase;
}

h3 {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
}

.container {
  width: min(var(--max), calc(100% - 32px));
  margin: 0 auto;
}

.narrow {
  width: min(760px, calc(100% - 32px));
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 1000;
  transform: translateY(-140%);
  background: var(--text);
  color: #000;
  padding: 10px 14px;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  border-bottom: 1px solid transparent;
  transition: background 180ms ease, border-color 180ms ease;
}

.site-header.is-scrolled,
.site-header.is-open {
  background: rgba(5, 5, 5, 0.92);
  border-color: var(--line);
  backdrop-filter: blur(16px);
}

.header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand,
.footer-brand {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
}

.brand img {
  max-height: 44px;
  width: auto;
}

.menu {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 0;
  margin: 0;
}

.menu a {
  color: rgba(242, 242, 242, 0.82);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
}

.menu a:hover {
  color: var(--text);
}

.nav-toggle {
  display: none;
}

.lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 78px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(5, 5, 5, 0.52);
  color: var(--text);
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.lang-toggle span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 22px;
  background: var(--accent);
  color: #fff;
  border-radius: 999px;
}

.lang-toggle b {
  font-family: var(--font-zh);
  font-size: 0.75rem;
  font-weight: 700;
}

.hero {
  position: relative;
  min-height: 92svh;
  display: grid;
  align-items: end;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  isolation: isolate;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 4px),
    linear-gradient(115deg, transparent 0 48%, rgba(185, 28, 28, 0.16) 49%, transparent 54%);
  mix-blend-mode: screen;
  opacity: 0.35;
  animation: scan-drift 8s linear infinite;
}

@keyframes scan-drift {
  from {
    transform: translateY(-18px);
  }

  to {
    transform: translateY(18px);
  }
}

.hero-bg,
.single-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-video {
  background: #000;
}

.hero-video-mobile {
  display: none;
}

.hero-overlay,
.single-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.84), rgba(5, 5, 5, 0.2), rgba(5, 5, 5, 0.88)),
    linear-gradient(0deg, #050505 0%, rgba(5, 5, 5, 0.08) 42%, rgba(5, 5, 5, 0.64) 100%);
}

.hero-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 36px;
  align-items: end;
  padding: 150px 0 72px;
  animation: hero-rise 900ms ease 140ms both;
}

@keyframes hero-rise {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.hero-content p {
  max-width: 560px;
  font-size: clamp(1.05rem, 2vw, 1.38rem);
}

.hero-content::after {
  content: "ISSUE 001\A STREET SESSION / JDM\A HONG KONG ARCHIVE";
  white-space: pre-line;
  justify-self: end;
  width: min(100%, 260px);
  padding: 18px 0 0;
  border-top: 1px solid var(--line);
  color: rgba(242, 242, 242, 0.78);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.9;
  text-align: right;
  text-transform: uppercase;
}

.eyebrow {
  color: var(--accent);
  font-family: var(--font-display);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body[data-lang="zh"] .eyebrow,
body[data-lang="zh"] .button,
body[data-lang="zh"] .text-button,
body[data-lang="zh"] .menu a {
  font-family: var(--font-zh);
  font-weight: 700;
  letter-spacing: 0;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid var(--accent);
  border-radius: 0;
  background: var(--accent);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  transform: translateY(-2px);
  background: #d52a2a;
  border-color: #d52a2a;
}

.button.ghost {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--line);
}

.section {
  padding: 96px 0;
}

.section,
.media-card,
.gallery-card,
.commercial-cta,
.feature-lead {
  content-visibility: auto;
}

.ticker-strip {
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: #080808;
}

.ticker-track {
  display: flex;
  width: max-content;
  gap: 0;
  animation: swav777-ticker 28s linear infinite;
}

.ticker-track span {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 28px;
  border-right: 1px solid var(--line);
  color: var(--signal);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

@keyframes swav777-ticker {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.editorial-section {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 22rem),
    var(--bg);
}

.editorial-heading h2 {
  max-width: 900px;
}

.editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.85fr);
  gap: 18px;
}

.feature-lead {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #090909;
}

.feature-lead-image,
.feature-lead-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.feature-lead-image img {
  object-fit: cover;
  filter: contrast(1.08) saturate(0.94);
  transition: transform 360ms ease;
}

.feature-lead:hover .feature-lead-image img {
  transform: scale(1.035);
}

.feature-lead::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(5, 5, 5, 0.92), rgba(5, 5, 5, 0.1) 58%),
    linear-gradient(90deg, rgba(5, 5, 5, 0.45), transparent);
}

.feature-lead-copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding: clamp(20px, 4vw, 38px);
}

.feature-lead-copy h3 {
  max-width: 780px;
  margin-bottom: 14px;
  font-size: clamp(2.4rem, 6vw, 6.8rem);
  line-height: 0.9;
  text-transform: uppercase;
}

.feature-lead-copy p {
  max-width: 640px;
}

.feature-stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.section-muted {
  background: var(--panel);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  margin-bottom: 32px;
}

.section-heading .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -14px;
}

.section-heading > a,
.text-button {
  color: var(--text);
  border-bottom: 1px solid var(--accent);
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
}

.card-grid {
  display: grid;
  gap: 18px;
}

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

.media-card {
  background: rgba(9, 9, 9, 0.92);
  border: 1px solid var(--line);
  overflow: hidden;
}

.media-card-image {
  position: relative;
  display: block;
  aspect-ratio: 1.35;
  overflow: hidden;
  background: #111;
}

.media-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 280ms ease, filter 280ms ease;
}

.media-card:hover img,
.gallery-card:hover img {
  transform: scale(1.045);
  filter: contrast(1.08);
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: none;
}

.media-card:nth-child(2),
.gallery-card:nth-child(2) {
  transition-delay: 80ms;
}

.media-card:nth-child(3),
.gallery-card:nth-child(3) {
  transition-delay: 140ms;
}

.media-card-body {
  padding: 18px;
}

.media-card-body h3 {
  margin-bottom: 10px;
}

.meta-line {
  margin-bottom: 10px;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.film-strip-section {
  background:
    linear-gradient(90deg, rgba(185, 28, 28, 0.12), transparent 32rem),
    #090909;
}

.film-strip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.film-strip-grid .media-card {
  border-color: rgba(255, 255, 255, 0.18);
}

.film-strip-grid .media-card-image {
  aspect-ratio: 16 / 9;
}

.film-strip-grid .media-card-body {
  display: grid;
  min-height: 190px;
  align-content: start;
}

.play-mark {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(5, 5, 5, 0.7);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

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

.home-gallery-grid {
  grid-template-columns: 1.1fr 0.9fr 1fr 1.15fr;
  grid-auto-rows: 210px;
}

.home-gallery-grid .gallery-card {
  aspect-ratio: auto;
  min-height: 100%;
}

.home-gallery-grid .gallery-card:nth-child(1),
.home-gallery-grid .gallery-card:nth-child(6) {
  grid-row: span 2;
}

.home-gallery-grid .gallery-card:nth-child(3) {
  grid-column: span 2;
}

.gallery-card {
  position: relative;
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
}

.gallery-card span {
  position: absolute;
  inset: auto 0 0;
  padding: 8px 10px;
  background: linear-gradient(0deg, rgba(5, 5, 5, 0.86), rgba(5, 5, 5, 0));
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.commercial-cta {
  min-height: 440px;
  display: grid;
  align-items: center;
  border-top: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.96), rgba(5, 5, 5, 0.5)),
    url("../images/placeholder-car-3.jpg") center / cover;
}

.cta-inner h2 {
  max-width: 860px;
}

.archive-hero,
.single-hero {
  position: relative;
  min-height: 62svh;
  display: grid;
  align-items: end;
  padding: 160px 0 72px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.88), rgba(5, 5, 5, 0.62)),
    url("../images/placeholder-hero.jpg") center / cover;
}

.archive-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(185, 28, 28, 0.12), transparent 34rem),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 110px);
  opacity: 0.42;
}

.archive-hero.compact {
  min-height: 360px;
}

.archive-hero .container,
.single-hero-content {
  position: relative;
  z-index: 2;
}

.archive-hero p,
.single-hero-content p {
  max-width: 720px;
  font-size: 1.08rem;
}

.single-grid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 56px;
  padding: 72px 0;
}

.story-meta {
  position: sticky;
  top: 100px;
  align-self: start;
  border-top: 1px solid var(--line);
}

.story-meta p {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.story-meta span {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.term-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 16px;
}

.term-list a,
.filter-bar button,
.service-list span {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  padding: 8px 10px;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.content-body {
  color: var(--text);
  font-size: 1.05rem;
}

.content-body > * + * {
  margin-top: 1.2rem;
}

.content-body p {
  color: rgba(242, 242, 242, 0.78);
}

.content-body a {
  color: var(--text);
  border-bottom: 1px solid var(--accent);
}

.content-body img {
  width: 100%;
  margin: 28px 0;
}

.related-panel,
.contact-panel,
.form-slot {
  border: 1px solid var(--line);
  background: var(--panel-soft);
  padding: 22px;
}

.video-embed {
  aspect-ratio: 16 / 9;
  margin-bottom: 28px;
  background: #000;
}

.video-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.photo-stage {
  padding: 120px 0 0;
}

.photo-stage img {
  width: 100%;
  max-height: 82svh;
  object-fit: contain;
  background: #000;
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.filter-bar button {
  cursor: pointer;
}

.filter-bar button.active {
  border-color: var(--accent);
  background: var(--accent);
}

.archive-wall-section {
  background: #050505;
}

.archive-wall-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.archive-wall-grid .media-card {
  position: relative;
  min-height: 520px;
  border-color: rgba(255, 255, 255, 0.08);
}

.archive-wall-grid .media-card-image {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  height: 100%;
}

.archive-wall-grid .media-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(5, 5, 5, 0.92), rgba(5, 5, 5, 0.12) 58%),
    linear-gradient(90deg, rgba(5, 5, 5, 0.32), transparent);
}

.archive-wall-grid .media-card-body {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding: clamp(18px, 3vw, 32px);
}

.archive-wall-grid .media-card-body h3 {
  max-width: 780px;
  font-size: clamp(1.8rem, 4vw, 4.8rem);
  line-height: 0.94;
  text-transform: uppercase;
}

.archive-wall-grid .media-card-body p:not(.meta-line) {
  max-width: 520px;
}

.film-archive-grid {
  display: grid;
  gap: 16px;
}

.film-archive-grid .media-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  min-height: 360px;
}

.film-archive-grid .media-card-image {
  aspect-ratio: auto;
  height: 100%;
}

.film-archive-grid .media-card-body {
  display: grid;
  align-content: center;
  padding: clamp(22px, 4vw, 46px);
}

.film-archive-grid .media-card-body h3 {
  font-size: clamp(1.8rem, 4vw, 4.8rem);
  line-height: 0.92;
  text-transform: uppercase;
}

.gallery-card.is-hidden {
  display: none;
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 32px;
}

.service-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-content: start;
}

.contact-panel h2 {
  margin-bottom: 20px;
  max-width: 100%;
  font-size: clamp(2.45rem, 3.4vw, 3.75rem);
  overflow-wrap: anywhere;
  word-break: normal;
}

.contact-panel a {
  color: var(--text);
  border-bottom: 1px solid var(--accent);
}

.form-slot {
  margin: 24px 0;
  color: var(--muted);
}

.site-footer {
  border-top: 1px solid var(--line);
  background: #030303;
  padding: 48px 0 24px;
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
}

.footer-grid p {
  max-width: 520px;
  margin-top: 10px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-content: start;
  justify-content: flex-end;
}

.footer-links a {
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 0.78rem;
}

.footer-bottom {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.82rem;
}

.pagination-wrap {
  margin-top: 32px;
}

.woocommerce-wrap {
  padding: 72px 0;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: transparent;
  border: 0;
  padding: 0;
}

.woocommerce ul.products li.product img {
  aspect-ratio: 4 / 5;
  width: 100%;
  object-fit: cover;
  background: #0b0b0b;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: filter 200ms ease, transform 260ms ease;
}

.woocommerce ul.products li.product:hover img {
  filter: contrast(1.08);
  transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  color: var(--text);
  text-transform: uppercase;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
  color: var(--accent);
}

.woocommerce div.product {
  color: var(--text);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #111;
  border-color: var(--line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--text);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #111;
  color: var(--text);
  border-top-color: var(--accent);
}

.swav777-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.9);
}

.swav777-lightbox img {
  max-height: 88vh;
  width: auto;
}

.swav777-lightbox button {
  position: fixed;
  top: 20px;
  right: 20px;
  border: 1px solid var(--line);
  background: #080808;
  color: var(--text);
  padding: 10px 14px;
  cursor: pointer;
}

@media (max-width: 900px) {
  .nav-toggle {
    display: inline-grid;
    gap: 4px;
    place-items: center;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text);
    padding: 10px;
  }

  .lang-toggle {
    margin-left: auto;
  }

  .nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--text);
  }

  .nav-toggle b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  .primary-nav {
    position: fixed;
    inset: 76px 0 auto;
    display: none;
    background: rgba(5, 5, 5, 0.96);
    border-bottom: 1px solid var(--line);
  }

  .primary-nav.is-open {
    display: block;
  }

  .menu {
    width: min(var(--max), calc(100% - 32px));
    margin: 0 auto;
    padding: 18px 0 24px;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  .menu a {
    display: block;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
    font-size: 0.96rem;
  }

  .card-grid.three,
  .editorial-grid,
  .film-strip-grid,
  .archive-wall-grid,
  .contact-grid,
  .single-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .film-archive-grid .media-card {
    grid-template-columns: 1fr;
  }

  .film-archive-grid .media-card-image {
    aspect-ratio: 16 / 9;
  }

  .hero-content {
    grid-template-columns: 1fr;
  }

  .hero-content::after {
    justify-self: start;
    text-align: left;
  }

  .feature-lead {
    min-height: 540px;
  }

  .feature-stack {
    grid-template-rows: none;
  }

  .story-meta {
    position: static;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 240px;
  }

  .home-gallery-grid .gallery-card:nth-child(1),
  .home-gallery-grid .gallery-card:nth-child(3),
  .home-gallery-grid .gallery-card:nth-child(6) {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 620px) {
  .container {
    width: min(100% - 24px, var(--max));
  }

  .header-inner {
    min-height: 68px;
  }

  .primary-nav {
    inset: 68px 0 auto;
  }

  .hero {
    min-height: 92svh;
  }

  .hero-content {
    padding: 120px 0 56px;
  }

  .section {
    padding: 64px 0;
  }

  .section-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .archive-hero,
  .single-hero {
    min-height: 500px;
    padding: 120px 0 56px;
  }

  .single-grid {
    gap: 32px;
    padding: 48px 0;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .hero.has-mobile-video .hero-video-desktop {
    display: none;
  }

  .hero.has-mobile-video .hero-video-mobile {
    display: block;
  }

  .archive-wall-grid .media-card {
    min-height: 420px;
  }

  .home-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 320px;
  }
}

/* Premium editorial pass: darker hero, warmer archive sections, lighter shop. */
:root {
  --bg: #070706;
  --panel: #11100e;
  --panel-soft: #191714;
  --paper: #eee8dc;
  --paper-2: #d8d0c0;
  --ink: #10100e;
  --text: #f4f1ea;
  --muted: #a8a092;
  --line: rgba(244, 241, 234, 0.15);
  --accent: #c84a36;
  --signal: #f1eee7;
  --max: 1240px;
}

body {
  background:
    radial-gradient(circle at 18% -12%, rgba(200, 74, 54, 0.18), transparent 32rem),
    radial-gradient(circle at 88% 10%, rgba(238, 232, 220, 0.06), transparent 26rem),
    linear-gradient(90deg, rgba(244, 241, 234, 0.025) 1px, transparent 1px),
    #070706;
  background-size: auto, auto, 86px 86px, auto;
  color: var(--text);
}

.scroll-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  height: 2px;
  pointer-events: none;
}

.scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--paper), var(--accent));
  transform: scaleX(0);
  transform-origin: left center;
}

.swav777-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border: 1px solid rgba(244, 241, 234, 0.78);
  border-radius: 999px;
  pointer-events: none;
  opacity: 0.78;
  mix-blend-mode: difference;
  transition: width 180ms ease, height 180ms ease, margin 180ms ease, border-color 180ms ease;
}

.swav777-cursor.is-active {
  width: 46px;
  height: 46px;
  margin: -23px 0 0 -23px;
  border-color: rgba(244, 241, 234, 0.95);
}

.site-header {
  inset: 14px 0 auto;
  border: 0;
}

.header-inner {
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid rgba(244, 241, 234, 0.12);
  border-radius: 999px;
  background: rgba(7, 7, 6, 0.42);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px);
}

.site-header.is-scrolled,
.site-header.is-open {
  background: transparent;
  border-color: transparent;
}

.site-header.is-scrolled .header-inner,
.site-header.is-open .header-inner {
  background: rgba(7, 7, 6, 0.76);
  border-color: rgba(244, 241, 234, 0.18);
}

.brand,
.footer-brand {
  color: var(--paper);
  letter-spacing: 0.12em;
}

.menu a {
  position: relative;
  color: rgba(244, 241, 234, 0.78);
  font-size: 0.75rem;
}

.menu a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 1px;
  background: var(--paper);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 220ms ease;
}

.menu a:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.lang-toggle {
  min-width: 88px;
  border-color: rgba(244, 241, 234, 0.16);
  background: rgba(244, 241, 234, 0.07);
  color: var(--paper);
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.lang-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(244, 241, 234, 0.34);
  background: rgba(244, 241, 234, 0.12);
}

.lang-toggle span {
  background: var(--paper);
  color: var(--ink);
}

.lang-toggle b {
  color: rgba(244, 241, 234, 0.72);
}

.hero {
  min-height: 100svh;
  border-bottom: 0;
}

.hero-bg,
.hero-video {
  filter: contrast(1.08) saturate(0.82) brightness(0.84);
  transform: scale(1.02);
}

.hero::before {
  opacity: 0.18;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 58%, rgba(244, 241, 234, 0.06) 58.1% 58.35%, transparent 58.45%),
    linear-gradient(115deg, transparent 0 68%, rgba(244, 241, 234, 0.05) 68.1% 68.35%, transparent 68.45%);
}

.hero-overlay {
  background:
    radial-gradient(circle at 58% 55%, rgba(200, 74, 54, 0.2), transparent 22rem),
    linear-gradient(90deg, rgba(7, 7, 6, 0.96), rgba(7, 7, 6, 0.38), rgba(7, 7, 6, 0.92)),
    linear-gradient(0deg, #070706 0%, rgba(7, 7, 6, 0.1) 48%, rgba(7, 7, 6, 0.72) 100%);
}

.hero-content {
  grid-template-columns: minmax(0, 1fr) minmax(190px, 300px);
  padding: 168px 0 76px;
}

.hero-content h1 {
  font-size: clamp(4.6rem, 15vw, 13.5rem);
  letter-spacing: 0;
  text-shadow: 0 22px 80px rgba(0, 0, 0, 0.56);
}

.hero-content p {
  color: rgba(244, 241, 234, 0.72);
}

.hero-content::after {
  color: rgba(244, 241, 234, 0.66);
  border-color: rgba(244, 241, 234, 0.22);
}

.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  min-height: 48px;
  border-color: var(--paper);
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.16);
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.button.ghost {
  background: transparent;
  color: var(--paper);
  border-color: rgba(244, 241, 234, 0.24);
}

.button.ghost:hover {
  background: var(--paper);
  color: var(--ink);
  border-color: var(--paper);
}

.ticker-strip {
  background: #0c0b0a;
  border-color: rgba(244, 241, 234, 0.11);
}

.ticker-track span {
  min-height: 42px;
  color: rgba(244, 241, 234, 0.78);
}

.manifesto-section {
  padding: clamp(72px, 8vw, 120px) 0;
  background:
    linear-gradient(120deg, rgba(200, 74, 54, 0.09), transparent 38%),
    var(--paper);
  color: var(--ink);
}

.manifesto-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: clamp(28px, 7vw, 96px);
  align-items: end;
}

.manifesto-section .eyebrow {
  color: var(--accent);
}

.manifesto-section h2 {
  max-width: 880px;
  color: var(--ink);
  font-size: clamp(2.4rem, 7vw, 7.2rem);
}

.manifesto-copy p {
  max-width: 620px;
  color: rgba(16, 16, 14, 0.72);
  font-size: clamp(1rem, 1.5vw, 1.28rem);
}

.manifesto-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.manifesto-stats span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(16, 16, 14, 0.18);
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.editorial-section {
  background: var(--paper);
  color: var(--ink);
}

.editorial-section .section-heading h2,
.editorial-section .section-heading a {
  color: var(--ink);
}

.editorial-section .section-heading a {
  border-bottom: 1px solid rgba(16, 16, 14, 0.28);
}

.film-strip-section {
  background:
    radial-gradient(circle at 78% 18%, rgba(200, 74, 54, 0.15), transparent 28rem),
    #0c0b0a;
}

.section-muted,
.gallery-preview {
  background: #0d0d0b;
}

.shop-preview {
  background: var(--paper);
  color: var(--ink);
}

.shop-preview .section-heading h2,
.shop-preview .section-heading a {
  color: var(--ink);
}

.shop-preview p,
.shop-preview .price,
.product-card p {
  color: rgba(16, 16, 14, 0.66);
}

.media-card,
.feature-lead,
.gallery-card {
  border-color: rgba(244, 241, 234, 0.12);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.18);
  transform: translateZ(0);
  transition: transform 420ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 420ms ease, border-color 420ms ease;
}

.media-card::before,
.feature-lead::before,
.gallery-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(244, 241, 234, 0.16), transparent 16rem);
  opacity: 0;
  transition: opacity 260ms ease;
}

.media-card:hover,
.feature-lead:hover,
.gallery-card:hover {
  transform: translateY(-8px);
  border-color: rgba(244, 241, 234, 0.28);
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.28);
}

.media-card:hover::before,
.feature-lead:hover::before,
.gallery-card:hover::before {
  opacity: 1;
}

.feature-lead-copy,
.media-card-copy,
.gallery-card span {
  z-index: 3;
}

.media-card img,
.gallery-card img,
.feature-lead-image img {
  transition: transform 720ms cubic-bezier(0.2, 0.8, 0.2, 1), filter 420ms ease;
}

.media-card:hover img,
.gallery-card:hover img,
.feature-lead:hover img {
  transform: scale(1.055);
  filter: contrast(1.08) saturate(0.92);
}

.product-card,
.woocommerce ul.products li.product {
  border: 1px solid rgba(16, 16, 14, 0.12);
  background: #f8f2e7;
  color: var(--ink);
  box-shadow: none;
}

.product-card img,
.woocommerce ul.products li.product img {
  background: #fffaf0;
}

.commercial-cta {
  background:
    linear-gradient(120deg, rgba(200, 74, 54, 0.22), transparent 42%),
    #0c0b0a;
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(36px);
  transition:
    opacity 850ms ease var(--reveal-delay, 0ms),
    transform 850ms cubic-bezier(0.16, 1, 0.3, 1) var(--reveal-delay, 0ms);
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: none;
}

body[data-lang="zh"] {
  font-family: "Noto Sans SC", "Microsoft YaHei UI", "PingFang SC", "Source Han Sans SC", sans-serif;
}

body[data-lang="zh"] h1,
body[data-lang="zh"] h2,
body[data-lang="zh"] h3,
body[data-lang="zh"] h4,
body[data-lang="zh"] .brand,
body[data-lang="zh"] .footer-brand {
  font-family: "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif;
}

@media (max-width: 900px) {
  .swav777-cursor {
    display: none;
  }

  .site-header {
    inset: 10px 0 auto;
  }

  .header-inner {
    border-radius: 18px;
  }

  .manifesto-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .hero-content {
    grid-template-columns: 1fr;
    padding-top: 132px;
  }

  .hero-content::after {
    justify-self: start;
    text-align: left;
  }
}

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

/* 1.1.1 refinement: steadier night palette and separated Latin/CJK typography. */
:root {
  --bg: #060707;
  --panel: #101111;
  --panel-soft: #151616;
  --paper: #e7e0d2;
  --paper-2: #c9c0ad;
  --ink: #090a0a;
  --text: #f3efe7;
  --muted: #9d988e;
  --line: rgba(231, 224, 210, 0.13);
  --accent: #d2b477;
  --accent-cool: #78969a;
  --signal: #e7e0d2;
  --font-display: "Avenir Next Condensed", "Helvetica Neue Condensed Black", "Roboto Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", "Avenir Next", "Neue Haas Grotesk Text", "Helvetica Neue", Arial, sans-serif;
  --font-zh-sans: "Noto Sans SC", "Microsoft YaHei UI", "PingFang SC", "Source Han Sans SC", sans-serif;
  --font-zh-serif: "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
}

body {
  background:
    radial-gradient(circle at 18% -10%, rgba(120, 150, 154, 0.14), transparent 30rem),
    radial-gradient(circle at 84% 8%, rgba(210, 180, 119, 0.09), transparent 28rem),
    linear-gradient(90deg, rgba(231, 224, 210, 0.018) 1px, transparent 1px),
    #060707;
  color: var(--text);
  font-family: var(--font-body);
  font-feature-settings: "kern" 1, "liga" 1;
}

body[data-lang="zh"] {
  font-family: var(--font-zh-sans);
}

h1,
h2,
h3,
h4,
.brand,
.footer-brand,
.brand-title,
.menu a,
.eyebrow,
.button,
.text-button,
.ticker-track span,
.lang-toggle {
  font-family: var(--font-display);
}

body[data-lang="zh"] h1,
body[data-lang="zh"] h2,
body[data-lang="zh"] h3,
body[data-lang="zh"] h4 {
  font-family: var(--font-zh-serif);
  font-weight: 700;
}

body[data-lang="zh"] .brand,
body[data-lang="zh"] .footer-brand,
body[data-lang="zh"] .brand-title,
body[data-lang="zh"] .hero-content h1,
body[data-lang="zh"] .menu a,
body[data-lang="zh"] .ticker-track span,
body[data-lang="zh"] .manifesto-stats span {
  font-family: var(--font-display);
}

body[data-lang="zh"] .eyebrow,
body[data-lang="zh"] .button,
body[data-lang="zh"] .text-button,
body[data-lang="zh"] .lang-toggle,
body[data-lang="zh"] .section-heading > a,
body[data-lang="zh"] .filter-bar button {
  font-family: var(--font-zh-sans);
}

.brand,
.brand-title {
  letter-spacing: 0.08em;
}

.hero-content h1,
.brand-title {
  font-weight: 900;
  letter-spacing: 0.02em;
}

.site-header {
  inset: 18px 0 auto;
}

.header-inner {
  border-radius: 8px;
  background: rgba(6, 7, 7, 0.62);
  border-color: rgba(231, 224, 210, 0.14);
}

.menu a {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}

.lang-toggle span {
  background: var(--accent);
  color: #111;
}

.scroll-progress span {
  background: linear-gradient(90deg, var(--accent-cool), var(--accent));
}

.hero-overlay {
  background:
    radial-gradient(circle at 60% 55%, rgba(120, 150, 154, 0.16), transparent 24rem),
    linear-gradient(90deg, rgba(6, 7, 7, 0.95), rgba(6, 7, 7, 0.32), rgba(6, 7, 7, 0.88)),
    linear-gradient(0deg, #060707 0%, rgba(6, 7, 7, 0.12) 48%, rgba(6, 7, 7, 0.72) 100%);
}

.hero::after {
  opacity: 0.55;
}

.eyebrow {
  color: var(--accent);
}

.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-color: rgba(231, 224, 210, 0.22);
  background: var(--text);
  color: #090a0a;
  border-radius: 2px;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #090a0a;
}

.button.ghost {
  background: rgba(231, 224, 210, 0.04);
  color: var(--text);
}

.manifesto-section,
.editorial-section,
.shop-preview {
  background:
    linear-gradient(180deg, rgba(231, 224, 210, 0.035), transparent 18rem),
    var(--panel);
  color: var(--text);
  border-top: 1px solid var(--line);
}

.manifesto-section h2,
.editorial-section .section-heading h2,
.editorial-section .section-heading a,
.shop-preview .section-heading h2,
.shop-preview .section-heading a {
  color: var(--text);
}

.manifesto-copy p,
.shop-preview p,
.shop-preview .price,
.product-card p {
  color: var(--muted);
}

.manifesto-stats span {
  border-color: rgba(231, 224, 210, 0.18);
  color: var(--paper);
}

.editorial-section .section-heading a,
.shop-preview .section-heading a {
  border-bottom-color: rgba(231, 224, 210, 0.28);
}

.film-strip-section,
.section-muted,
.gallery-preview,
.archive-wall-section,
.site-footer {
  background:
    radial-gradient(circle at 80% 0%, rgba(210, 180, 119, 0.08), transparent 24rem),
    #090a0a;
}

.archive-hero {
  background:
    radial-gradient(circle at 78% 16%, rgba(120, 150, 154, 0.16), transparent 28rem),
    linear-gradient(180deg, #090a0a, #060707);
}

.archive-hero::before {
  opacity: 0.42;
}

.product-card,
.woocommerce ul.products li.product {
  background: #111312;
  color: var(--text);
  border-color: rgba(231, 224, 210, 0.13);
}

.product-card img,
.woocommerce ul.products li.product img {
  background: #181a19;
}

.filter-bar button {
  color: var(--muted);
  border-color: rgba(231, 224, 210, 0.14);
}

.filter-bar button.active,
.filter-bar button:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #090a0a;
}

.gallery-card span {
  color: var(--text);
  font-family: var(--font-display);
  letter-spacing: 0.04em;
}

body[data-lang="zh"] .gallery-card span {
  font-family: var(--font-zh-sans);
  letter-spacing: 0;
}

.media-card,
.feature-lead,
.gallery-card {
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.24);
}

.media-card:hover,
.feature-lead:hover,
.gallery-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.34);
}

/* 1.1.2: simpler home rhythm inspired by automotive media covers. */
.home-minimal .hero-content {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-items: end;
  text-align: center;
  padding-bottom: clamp(92px, 12vh, 150px);
}

.home-minimal .hero-content::after {
  display: none;
}

.home-minimal .hero-content p {
  max-width: 620px;
}

.home-minimal .hero-content .button-row {
  justify-content: center;
}

.home-minimal .hero-content h1 {
  font-size: clamp(4.4rem, 16vw, 15rem);
}

.simple-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.simple-card-grid .media-card {
  min-height: auto;
}

.simple-card-grid .media-card-image {
  aspect-ratio: 4 / 3;
}

.home-minimal .section {
  padding: clamp(64px, 8vw, 104px) 0;
}

.home-minimal .section-heading {
  margin-bottom: 24px;
}

.home-minimal .manifesto-section {
  display: none;
}

.custom-logo,
.brand img {
  max-height: 42px;
  width: auto;
}

@media (max-width: 900px) {
  .simple-card-grid {
    grid-template-columns: 1fr;
  }

  .simple-card-grid .media-card-image {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 620px) {
  .home-minimal .hero-content {
    justify-items: start;
    text-align: left;
    padding-bottom: 84px;
  }

  .home-minimal .hero-content .button-row {
    justify-content: flex-start;
  }
}

/* 1.1.3: Lowdown-inspired corner navigation and quiet hero cover. */
.site-header {
  inset: 0;
  height: 0;
  pointer-events: none;
}

.header-inner {
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  pointer-events: none;
}

.site-header.is-scrolled .header-inner,
.site-header.is-open .header-inner {
  background: transparent;
  border-color: transparent;
}

.brand {
  position: fixed;
  top: 18px;
  left: 18px;
  z-index: 120;
  display: inline-flex;
  align-items: center;
  min-height: 58px;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1;
  text-shadow: 0 6px 24px rgba(0, 0, 0, 0.42);
  pointer-events: auto;
}

.brand::before {
  display: none;
}

.brand img,
.custom-logo {
  max-height: 58px;
  min-width: 118px;
  width: auto;
}

.primary-nav {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 115;
  width: min(420px, 82vw);
  padding: 110px clamp(30px, 5vw, 68px) 48px;
  background: #df2028;
  color: #050505;
  transform: translateX(100%);
  transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: auto;
}

.primary-nav.is-open {
  transform: translateX(0);
}

.menu {
  align-items: flex-start;
  flex-direction: column;
  gap: 18px;
}

.menu a {
  color: #050505;
  font-size: clamp(1rem, 1.4vw, 1.32rem);
  font-style: italic;
  font-weight: 900;
  letter-spacing: 0;
}

.menu a::after {
  bottom: -5px;
  background: #050505;
}

.nav-toggle {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 130;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.28);
  color: #fff;
  cursor: pointer;
  pointer-events: auto;
}

.nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 2px 0;
  background: currentColor;
  transition: transform 220ms ease, opacity 220ms ease;
}

.nav-toggle b {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.site-header.is-open .nav-toggle {
  background: #050505;
  color: #df2028;
}

.site-header.is-open .nav-toggle span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.site-header.is-open .nav-toggle span:nth-child(2) {
  opacity: 0;
}

.site-header.is-open .nav-toggle span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.lang-toggle {
  position: fixed;
  top: 21px;
  right: 70px;
  z-index: 120;
  min-width: 70px;
  min-height: 34px;
  border: 0;
  background: transparent;
  color: #fff;
  text-shadow: 0 6px 24px rgba(0, 0, 0, 0.42);
  pointer-events: auto;
}

.lang-toggle:hover {
  background: transparent;
}

.lang-toggle span {
  width: auto;
  height: auto;
  background: transparent;
  color: inherit;
}

.lang-toggle b {
  color: inherit;
}

.home-minimal .hero-content {
  justify-items: start;
  text-align: left;
  width: min(820px, calc(100% - 32px));
  margin: 0 auto;
  padding-bottom: clamp(96px, 16vh, 170px);
}

.home-minimal .hero-content .eyebrow,
.home-minimal .hero-content > p {
  max-width: 480px;
}

.home-minimal .hero-content .button-row {
  justify-content: flex-start;
}

.home-minimal .hero-content h1,
.brand-title {
  display: none;
}

.hero-overlay {
  background:
    linear-gradient(90deg, rgba(4, 4, 4, 0.78), rgba(4, 4, 4, 0.18), rgba(4, 4, 4, 0.72)),
    linear-gradient(0deg, #050505 0%, rgba(5, 5, 5, 0.1) 48%, rgba(5, 5, 5, 0.58) 100%);
}

@media (max-width: 900px) {
  .primary-nav {
    inset: 0 0 0 auto;
  }

  .header-inner {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .brand {
    top: 14px;
    left: 14px;
  }

  .nav-toggle {
    top: 14px;
    right: 14px;
  }

  .lang-toggle {
    top: 17px;
    right: 62px;
  }
}

/* 1.1.5: mobile menu background fix and larger frame stage. */
.gallery-single .photo-stage {
  padding: 108px 0 0;
}

.gallery-single .photo-stage .container {
  width: min(1380px, calc(100% - 40px));
}

.gallery-single .photo-stage img {
  max-height: 88svh;
  object-fit: cover;
}

.gallery-single .single-grid {
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 72px;
  padding-top: 56px;
}

.gallery-single .story-meta {
  top: 120px;
}

.gallery-single .story-meta p:first-child {
  padding-top: 20px;
  padding-bottom: 20px;
}

.gallery-single .story-meta p:first-child span {
  font-size: 0.84rem;
  letter-spacing: 0.08em;
}

.gallery-single .story-meta p:first-child {
  font-size: 1.08rem;
}

@media (max-width: 900px) {
  .primary-nav {
    inset: 0 0 0 auto !important;
    width: min(420px, 88vw);
    height: 100svh;
    padding: 92px 28px 40px;
    background: #df2028 !important;
    border: 0;
    display: block !important;
    transform: translateX(100%);
  }

  .primary-nav.is-open {
    transform: translateX(0);
  }

  .menu {
    width: 100%;
    margin: 0;
    padding: 0;
    gap: 14px;
  }

  .menu a {
    padding: 0;
    border: 0;
    color: #050505;
    font-size: 1.25rem;
  }

  .gallery-single .photo-stage .container {
    width: min(100% - 28px, 1380px);
  }

  .gallery-single .single-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .gallery-single .story-meta {
    position: static;
  }
}

@media (max-width: 620px) {
  .primary-nav {
    width: 100vw;
    padding: 88px 24px 36px;
  }

  .gallery-single .photo-stage {
    padding-top: 88px;
  }

  .gallery-single .photo-stage img {
    max-height: 68svh;
  }

  .gallery-single .story-meta p:first-child {
    font-size: 1rem;
  }
}

/* 1.1.6: stronger logo/menu overrides and gallery frame ambience. */
.brand::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

.brand {
  min-height: 74px;
}

.brand img,
.custom-logo {
  max-height: 148px !important;
  min-width: 296px;
  object-fit: contain;
}

.primary-nav {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  min-height: 100vh !important;
  height: 100dvh !important;
  background: #df2028 !important;
}

.primary-nav.is-open {
  transform: translateX(0) !important;
}

.gallery-single .photo-stage {
  position: relative;
  overflow: hidden;
  padding: clamp(98px, 11vh, 136px) 0 34px;
  isolation: isolate;
}

.gallery-single .photo-stage::before {
  content: "";
  position: absolute;
  inset: -8%;
  z-index: -2;
  background-image: var(--frame-bg);
  background-size: cover;
  background-position: center;
  filter: blur(34px) brightness(0.32) saturate(0.82);
  transform: scale(1.08);
  opacity: 0.7;
}

.gallery-single .photo-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.08), transparent 36rem),
    linear-gradient(180deg, rgba(5, 5, 5, 0.52), #050505 92%);
}

.gallery-single .photo-stage .container {
  width: min(1560px, calc(100% - 36px));
}

.gallery-single .photo-stage img {
  width: 100%;
  max-height: 90svh;
  object-fit: cover;
  box-shadow: 0 34px 120px rgba(0, 0, 0, 0.44);
}

.gallery-single .story-meta p:first-child {
  border-top: 1px solid rgba(231, 224, 210, 0.16);
}

.gallery-single .story-meta p:first-child span {
  font-size: 0.98rem;
  color: var(--accent);
}

.gallery-single .story-meta p:first-child {
  font-size: clamp(1.22rem, 2vw, 1.8rem);
  line-height: 1.25;
  color: var(--text);
}

@media (max-width: 620px) {
  .brand {
    min-height: 116px;
  }

  .brand img,
  .custom-logo {
    max-height: 116px !important;
    min-width: 232px;
  }

  .primary-nav {
    min-height: 100vh !important;
    height: 100dvh !important;
  }

  .gallery-single .photo-stage .container {
    width: min(100% - 18px, 1560px);
  }
}

/* 1.1.8: catalog-only shop and stable EN/CN typography. */
body {
  letter-spacing: 0;
}

body[data-lang="zh"] {
  font-family: var(--font-zh-sans);
}

body[data-lang="zh"] p,
body[data-lang="zh"] li,
body[data-lang="zh"] .content-body,
body[data-lang="zh"] .media-card-body,
body[data-lang="zh"] .contact-panel,
body[data-lang="zh"] .form-slot,
body[data-lang="zh"] .woocommerce,
body[data-lang="zh"] .woocommerce-wrap {
  font-family: var(--font-zh-sans);
  letter-spacing: 0;
}

body[data-lang="zh"] h1,
body[data-lang="zh"] h2,
body[data-lang="zh"] h3,
body[data-lang="zh"] h4 {
  font-family: var(--font-zh-serif);
  letter-spacing: 0;
}

.latin-lock,
body[data-lang="zh"] .brand,
body[data-lang="zh"] .footer-brand,
body[data-lang="zh"] .menu a,
body[data-lang="zh"] .ticker-track span,
body[data-lang="zh"] .meta-line,
body[data-lang="zh"] .play-mark,
body[data-lang="zh"] .story-meta span,
body[data-lang="zh"] .gallery-card span,
body[data-lang="zh"] .woocommerce-loop-product__title,
body[data-lang="zh"] .product_title,
body[data-lang="zh"] .swav777-product-colors span,
body[data-lang="zh"] .swav777-inquiry-button {
  font-family: var(--font-display) !important;
  letter-spacing: 0.02em;
}

body[data-lang="zh"] .content-body,
body[data-lang="zh"] .content-body p {
  line-height: 1.86;
}

.woocommerce div.product form.cart,
.woocommerce a.added_to_cart,
.woocommerce .cart,
.woocommerce .single_add_to_cart_button,
.woocommerce .quantity,
.woocommerce .woocommerce-variation-add-to-cart {
  display: none !important;
}

.swav777-product-inquiry {
  display: grid;
  gap: 12px;
  margin: 28px 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--line);
}

.swav777-product-colors {
  display: grid;
  gap: 4px;
  margin: 0;
  color: var(--text);
}

.swav777-product-colors span {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.swav777-inquiry-note {
  max-width: 440px;
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.woocommerce ul.products li.product .swav777-inquiry-button {
  margin-top: 12px;
}

/* 1.1.9: crop oversized transparent logo canvas into a clean corner mark. */
.brand:has(img) {
  width: clamp(176px, 13vw, 240px);
  height: clamp(42px, 3.4vw, 62px);
  min-height: 0;
  overflow: hidden;
}

.brand:has(img) img,
.brand:has(img) .custom-logo {
  width: calc(clamp(176px, 13vw, 240px) * 4.95);
  max-width: none;
  max-height: none !important;
  min-width: 0;
  height: auto;
  transform: translate(-39.95%, -44.2%);
  transform-origin: left top;
}

@media (max-width: 620px) {
  .brand:has(img) {
    width: 168px;
    height: 44px;
  }

  .brand:has(img) img,
  .brand:has(img) .custom-logo {
    width: 832px;
  }
}

/* 1.2.0: cleaner cover, larger frame labels, editorial product pages, richer footer. */
.home-minimal .hero-content-minimal {
  align-items: end;
  justify-items: center;
  min-height: 92svh;
  padding: 0 0 clamp(72px, 10vh, 108px);
}

.home-minimal .hero-content-minimal .button-row {
  justify-content: center;
  margin: 0;
}

.gallery-single .story-meta p:first-child span {
  display: block;
  margin-bottom: 12px;
  font-size: clamp(1.35rem, 2.2vw, 2.6rem);
  line-height: 0.92;
  letter-spacing: 0;
}

.gallery-single .story-meta p:first-child {
  padding: clamp(22px, 3vw, 36px) 0;
  font-size: clamp(1.55rem, 2.7vw, 3.15rem);
  line-height: 1.02;
}

.single-product .swav777-woocommerce .archive-hero {
  display: none;
}

.single-product .woocommerce-wrap {
  width: min(1560px, calc(100% - 36px));
  padding: clamp(96px, 12vh, 142px) 0 clamp(64px, 8vw, 108px);
}

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
  gap: clamp(28px, 5vw, 78px);
  align-items: start;
}

.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce div.product div.images {
  position: sticky;
  top: 92px;
}

.woocommerce div.product div.images img {
  width: 100%;
  max-height: calc(100svh - 124px);
  object-fit: cover;
  background: #10100f;
}

.woocommerce div.product div.summary {
  display: grid;
  align-content: start;
  min-height: calc(100svh - 160px);
  padding: clamp(18px, 3vw, 42px) 0;
}

.woocommerce div.product .product_title {
  max-width: 720px;
  margin-bottom: clamp(18px, 3vw, 34px);
  font-size: clamp(3rem, 6.2vw, 7.8rem);
  line-height: 0.88;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  order: 2;
  margin: 0 0 20px;
  color: var(--accent);
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2vw, 2.15rem);
  font-weight: 900;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  order: 3;
  max-width: 560px;
  margin-bottom: 24px;
  color: rgba(243, 239, 231, 0.78);
  font-size: clamp(1rem, 1.2vw, 1.15rem);
}

.woocommerce div.product .woocommerce-product-details__short-description p {
  color: inherit;
}

.woocommerce div.product .swav777-product-inquiry {
  order: 4;
}

.woocommerce div.product .product_meta {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products {
  grid-column: 1 / -1;
}

.site-footer {
  padding: clamp(54px, 7vw, 86px) 0 26px;
}

.footer-identity {
  display: grid;
  gap: 18px;
}

.footer-logo {
  display: inline-flex;
  width: fit-content;
  color: var(--text);
}

.footer-logo:has(img) {
  width: clamp(190px, 15vw, 270px);
  height: clamp(46px, 3.8vw, 70px);
  overflow: hidden;
}

.footer-logo:has(img) img,
.footer-logo:has(img) .custom-logo {
  width: calc(clamp(190px, 15vw, 270px) * 4.95);
  max-width: none;
  max-height: none !important;
  min-width: 0;
  height: auto;
  transform: translate(-39.95%, -44.2%);
  transform-origin: left top;
}

.footer-contact {
  display: grid;
  gap: 18px;
  justify-items: end;
  align-content: start;
}

.footer-direct {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 0.9rem;
  text-align: right;
}

.footer-direct a {
  color: var(--muted);
}

@media (max-width: 900px) {
  .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .woocommerce div.product div.images {
    position: static;
  }

  .woocommerce div.product div.summary {
    min-height: 0;
  }

  .woocommerce div.product .product_title {
    font-size: clamp(2.6rem, 13vw, 5.8rem);
  }

  .footer-grid,
  .footer-contact {
    justify-items: start;
  }

  .footer-direct {
    text-align: left;
  }
}

@media (max-width: 620px) {
  .home-minimal .hero-content-minimal {
    justify-items: center;
    padding-bottom: 58px;
  }

  .home-minimal .hero-content-minimal .button-row {
    justify-content: center;
  }

  .single-product .woocommerce-wrap {
    width: min(100% - 22px, 1560px);
    padding-top: 84px;
  }

  .gallery-single .story-meta p:first-child span {
    font-size: 1.25rem;
  }

  .gallery-single .story-meta p:first-child {
    font-size: clamp(1.45rem, 9vw, 2.45rem);
  }
}

/* 1.2.1: cleaner hero cover, stronger frame pages, balanced product layout. */
.hero .hero-content-minimal > :not(.button-row),
.hero .hero-content .eyebrow,
.hero .hero-content > p,
.hero .hero-content h1 {
  display: none !important;
}

.hero .hero-content-minimal {
  display: grid;
  min-height: 92svh;
  align-items: end;
  justify-items: center;
  padding: 0 0 clamp(62px, 9vh, 108px);
}

.hero .hero-content-minimal .button-row {
  margin: 0;
}

.gallery-single .single-grid {
  align-items: start;
}

.gallery-single .story-meta {
  border-top-color: rgba(210, 180, 119, 0.36);
}

.gallery-single .story-meta p:first-child {
  position: relative;
  padding-top: clamp(28px, 4vw, 50px);
  padding-bottom: clamp(28px, 4vw, 50px);
}

.gallery-single .story-meta p:first-child::before {
  content: "FRAME";
  position: absolute;
  left: -0.04em;
  top: -0.34em;
  color: rgba(210, 180, 119, 0.08);
  font-family: var(--font-display);
  font-size: clamp(4.8rem, 9vw, 10rem);
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}

.gallery-single .story-meta p:first-child span {
  position: relative;
  z-index: 1;
  font-size: clamp(1.65rem, 3vw, 3.6rem);
}

.gallery-single .story-meta p:first-child {
  font-size: clamp(1.75rem, 3.4vw, 3.8rem);
}

.single-product .woocommerce-wrap {
  width: min(1480px, calc(100% - 40px));
}

.woocommerce div.product {
  grid-template-columns: minmax(0, 0.98fr) minmax(380px, 0.82fr);
  gap: clamp(34px, 5vw, 86px);
}

.woocommerce div.product div.images img {
  aspect-ratio: 4 / 5;
  max-height: none;
  object-fit: cover;
}

.woocommerce div.product div.summary {
  min-height: 0;
  padding-top: clamp(22px, 5vh, 76px);
}

.woocommerce div.product .product_title {
  max-width: 640px;
  margin-bottom: 18px;
  font-size: clamp(2.7rem, 4.9vw, 5.85rem);
  line-height: 0.94;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  display: block;
  margin: 0 0 24px;
  font-size: clamp(1.35rem, 2.1vw, 2.35rem);
}

.woocommerce div.product .woocommerce-product-details__short-description {
  max-width: 580px;
  margin: 0 0 26px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.woocommerce div.product .summary .product_meta,
.woocommerce div.product_meta,
.woocommerce div.product .posted_in,
.woocommerce div.product .tagged_as {
  display: none !important;
}

.site-footer .footer-logo {
  margin-bottom: 8px;
}

.site-footer .footer-brand {
  font-size: clamp(1.8rem, 3vw, 3.4rem);
}

.footer-direct {
  padding-top: 4px;
}

.footer-direct span,
.footer-direct a {
  color: var(--text);
  font-weight: 800;
}

@media (max-width: 900px) {
  .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .woocommerce div.product div.images img {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 620px) {
  .gallery-single .story-meta p:first-child::before {
    font-size: clamp(4rem, 22vw, 6.8rem);
  }

  .woocommerce div.product .product_title {
    font-size: clamp(2.35rem, 14vw, 4.6rem);
  }
}

/* 1.2.2: client polish for cleaner cover, larger photo frames, product detail balance and footer contacts. */
.hero .hero-content-minimal > :not(.button-row),
.hero .hero-content .eyebrow,
.hero .hero-content > p,
.hero .hero-content h1,
.hero .brand-title {
  display: none !important;
}

.gallery-single .photo-stage {
  padding-top: clamp(84px, 9vh, 118px);
}

.gallery-single .photo-stage .container {
  width: min(1680px, calc(100% - 28px));
}

.gallery-single .photo-stage img {
  max-height: 92svh;
  object-fit: cover;
}

.gallery-single .single-grid {
  width: min(1480px, calc(100% - 36px));
  grid-template-columns: minmax(300px, 0.38fr) minmax(0, 0.62fr);
  gap: clamp(42px, 6vw, 96px);
}

.gallery-single .story-meta p:first-child::before {
  font-size: clamp(6.2rem, 11vw, 13rem);
  opacity: 1;
}

.gallery-single .story-meta p:first-child span {
  font-size: clamp(1.95rem, 3.4vw, 4.2rem);
}

.gallery-single .story-meta p:first-child {
  font-size: clamp(1.85rem, 3vw, 3.65rem);
}

.single-product .woocommerce-wrap {
  width: min(1360px, calc(100% - 48px));
  padding-top: clamp(112px, 12vh, 150px);
}

.woocommerce div.product {
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.78fr);
  gap: clamp(36px, 5.4vw, 84px);
}

.woocommerce div.product div.images {
  position: sticky;
  top: 104px;
}

.woocommerce div.product div.images img {
  aspect-ratio: 4 / 5;
  max-height: calc(100svh - 138px);
  object-fit: cover;
}

.woocommerce div.product div.summary {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding-top: clamp(26px, 4vh, 56px);
}

.woocommerce div.product .product_title {
  max-width: 620px;
  margin-bottom: 18px;
  font-size: clamp(2.65rem, 4.15vw, 5.2rem);
  line-height: 0.98;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  order: 1;
  margin: 0 0 22px;
  font-size: clamp(1.35rem, 1.7vw, 2rem);
}

.woocommerce div.product .woocommerce-product-details__short-description {
  order: 2;
  max-width: 620px;
  margin: 0 0 26px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.woocommerce div.product .swav777-product-inquiry {
  order: 3;
}

.woocommerce div.product .summary .product_meta,
.woocommerce div.product_meta,
.woocommerce div.product .posted_in,
.woocommerce div.product .tagged_as {
  display: none !important;
}

.site-footer {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 18rem),
    #030303;
}

.footer-grid {
  align-items: start;
  grid-template-columns: minmax(0, 0.8fr) minmax(280px, 0.42fr);
}

.footer-brand {
  font-size: clamp(2rem, 3.4vw, 3.8rem);
  line-height: 0.92;
}

.footer-direct {
  gap: 10px;
  padding-top: 8px;
}

.footer-direct::before {
  content: "CONTACT";
  color: var(--accent);
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.footer-direct span,
.footer-direct a {
  color: var(--text);
  font-size: 1rem;
  font-weight: 900;
}

@media (max-width: 900px) {
  .gallery-single .single-grid,
  .woocommerce div.product,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .woocommerce div.product div.images {
    position: static;
  }

  .woocommerce div.product div.images img {
    aspect-ratio: 4 / 3;
    max-height: none;
  }

  .footer-contact {
    justify-items: start;
  }
}

@media (max-width: 620px) {
  .gallery-single .photo-stage .container,
  .gallery-single .single-grid,
  .single-product .woocommerce-wrap {
    width: min(100% - 22px, 1680px);
  }

  .gallery-single .photo-stage img {
    max-height: 72svh;
  }
}

/* 1.2.3: unified typography, simpler shop, stronger nav/logo behavior. */
:root {
  --accent: #df2028;
  --font-display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, "Microsoft YaHei UI", "PingFang SC", sans-serif;
  --font-body: "Helvetica Neue", Arial, "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", sans-serif;
  --font-zh: var(--font-body);
  --font-zh-sans: var(--font-body);
  --font-zh-serif: var(--font-body);
}

body,
body[data-lang="zh"],
h1,
h2,
h3,
h4,
body[data-lang="zh"] h1,
body[data-lang="zh"] h2,
body[data-lang="zh"] h3,
body[data-lang="zh"] h4,
.eyebrow,
.meta-line,
.button,
.text-button,
.menu a,
.lang-toggle,
.lang-toggle b,
.lang-toggle span,
.brand,
.footer-brand,
.product_title,
.woocommerce-loop-product__title {
  font-family: var(--font-body) !important;
  letter-spacing: 0 !important;
}

h1,
body[data-lang="zh"] h1 {
  font-size: clamp(3.4rem, 7.2vw, 8.6rem);
  line-height: 0.98;
}

h2,
body[data-lang="zh"] h2 {
  font-size: clamp(2rem, 4.6vw, 4.8rem);
  line-height: 1;
}

.archive-hero .container {
  max-width: 920px;
}

.archive-hero .eyebrow,
.single-hero-content .eyebrow,
.meta-line,
.play-mark,
.story-meta span,
.footer-direct::before {
  color: rgba(242, 242, 242, 0.82) !important;
}

.eyebrow::before,
.meta-line::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  margin-right: 9px;
  vertical-align: middle;
  background: var(--accent);
}

.brand {
  z-index: 10000;
  pointer-events: auto;
  cursor: pointer;
}

.brand img,
.brand .custom-logo {
  pointer-events: none;
}

.primary-nav .menu a[href$="/about/"],
.primary-nav .menu a[href$="/about"] {
  display: none !important;
}

.lang-toggle {
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 800;
}

.lang-toggle span,
.lang-toggle b {
  min-width: 24px;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 800;
}

.film-archive-grid .media-card {
  background: rgba(8, 8, 8, 0.96);
  border-color: rgba(255, 255, 255, 0.14);
}

.film-archive-grid .media-card-body {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.film-archive-grid .media-card-body h3 {
  font-size: clamp(2rem, 3.8vw, 4.8rem);
}

.shop-page .archive-hero {
  min-height: 460px;
}

.shop-catalog {
  display: grid;
  gap: 18px;
}

.shop-item {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.65fr);
  min-height: 420px;
  border: 1px solid var(--line);
  background: rgba(8, 8, 8, 0.82);
}

.shop-item-image {
  min-height: 100%;
  background: #101010;
}

.shop-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shop-item-copy {
  display: grid;
  align-content: center;
  gap: 18px;
  padding: clamp(24px, 4vw, 52px);
}

.shop-item-copy h2 {
  max-width: 640px;
}

.shop-item-copy p:not(.meta-line) {
  max-width: 520px;
  color: rgba(242, 242, 242, 0.76);
}

.shop-contact-panel {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: start;
  margin-top: 22px;
  padding: 22px 0 0;
  border-top: 1px solid var(--line);
}

.shop-contact-panel > div {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
}

.shop-contact-panel span,
.shop-contact-panel a {
  color: var(--text);
  font-weight: 800;
}

.contact-panel p:first-of-type {
  color: rgba(242, 242, 242, 0.78);
}

@media (max-width: 900px) {
  h1,
  body[data-lang="zh"] h1 {
    font-size: clamp(3rem, 13vw, 6rem);
  }

  .shop-item,
  .shop-contact-panel {
    grid-template-columns: 1fr;
  }

  .shop-item {
    min-height: 0;
  }

  .shop-item-image {
    aspect-ratio: 4 / 3;
  }
}

/* 1.2.4: film archive typography and card rhythm. */
.film-archive-page .archive-hero {
  min-height: clamp(460px, 58svh, 620px);
  align-items: end;
  padding: clamp(118px, 16vh, 170px) 0 clamp(70px, 10vh, 112px);
}

.film-archive-page .archive-hero .container {
  width: min(860px, calc(100% - 40px));
  max-width: none;
  margin-left: max(18px, calc((100vw - 1180px) / 2 + 62px));
}

.film-archive-page .archive-hero .eyebrow,
.film-archive-grid .meta-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: rgba(242, 242, 242, 0.76) !important;
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
}

.film-archive-page .archive-hero .eyebrow::before,
.film-archive-grid .meta-line::before {
  flex: 0 0 18px;
  width: 18px;
  height: 2px;
  margin: 0;
  background: var(--accent);
}

.film-archive-page .archive-hero h1 {
  max-width: 860px;
  font-size: clamp(4.4rem, 7.4vw, 8.8rem);
  font-weight: 850;
  line-height: 0.94;
  text-transform: uppercase;
  text-wrap: balance;
}

body[data-lang="zh"] .film-archive-page .archive-hero h1 {
  max-width: 760px;
  font-size: clamp(3.8rem, 7vw, 7.2rem);
  font-weight: 850;
  line-height: 1.08;
}

.film-archive-page .archive-hero p:not(.eyebrow) {
  max-width: 600px;
  margin-top: 18px;
  color: rgba(242, 242, 242, 0.64);
  font-size: clamp(0.98rem, 1.08vw, 1.08rem);
  line-height: 1.65;
}

body[data-lang="zh"] .film-archive-page .archive-hero p:not(.eyebrow) {
  max-width: 660px;
  font-size: 1rem;
  line-height: 1.78;
}

.film-archive-page .archive-wall-section {
  padding-top: clamp(58px, 7vw, 92px);
}

.film-archive-page .film-archive-grid {
  width: min(1280px, calc(100% - 44px));
  gap: 16px;
}

.film-archive-page .film-archive-grid .media-card {
  grid-template-columns: minmax(0, 0.58fr) minmax(360px, 0.42fr);
  min-height: 350px;
  overflow: hidden;
}

.film-archive-page .film-archive-grid .media-card-image {
  min-height: 100%;
}

.film-archive-page .film-archive-grid .media-card-body {
  display: grid;
  align-content: center;
  min-width: 0;
  padding: clamp(26px, 3.5vw, 48px);
}

.film-archive-page .film-archive-grid .media-card-body h3 {
  max-width: 440px;
  font-size: clamp(2.35rem, 3.35vw, 4.15rem);
  font-weight: 850;
  line-height: 0.96;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

body[data-lang="zh"] .film-archive-page .film-archive-grid .media-card-body h3 {
  font-size: clamp(2rem, 3vw, 3.5rem);
  line-height: 1.1;
}

.film-archive-page .film-archive-grid .media-card-body > p:not(.meta-line) {
  max-width: 420px;
  margin-top: 16px;
  color: rgba(242, 242, 242, 0.56);
  font-size: 0.95rem;
  line-height: 1.65;
}

.film-archive-page .film-archive-grid .text-button {
  width: 100%;
  max-width: 420px;
  padding-top: 18px;
  border-bottom-color: var(--accent);
  color: rgba(242, 242, 242, 0.9);
  font-size: 0.82rem;
}

@media (max-width: 1180px) {
  .film-archive-page .archive-hero .container {
    margin-left: max(20px, 8vw);
  }
}

@media (max-width: 900px) {
  .film-archive-page .archive-hero .container,
  .film-archive-page .film-archive-grid {
    width: min(100% - 28px, 860px);
    margin-left: auto;
  }

  .film-archive-page .film-archive-grid .media-card {
    grid-template-columns: 1fr;
  }

  .film-archive-page .film-archive-grid .media-card-image {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 620px) {
  .film-archive-page .archive-hero h1,
  body[data-lang="zh"] .film-archive-page .archive-hero h1 {
    font-size: clamp(3rem, 15vw, 4.6rem);
  }
}

/* 1.2.5: stable logo rendering and mobile-wide headline containment. */
.brand,
.brand:has(img) {
  position: fixed;
  top: max(14px, env(safe-area-inset-top));
  left: max(14px, env(safe-area-inset-left));
  z-index: 10000;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: clamp(122px, 11vw, 168px);
  height: 46px;
  min-height: 0;
  overflow: visible;
  color: #fff;
  pointer-events: auto;
}

.brand img,
.brand .custom-logo,
.brand:has(img) img,
.brand:has(img) .custom-logo {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 42px !important;
  min-width: 0 !important;
  object-fit: contain;
  transform: none !important;
}

.brand span {
  color: var(--text);
  font-size: 1.2rem;
  font-weight: 900;
}

.footer-logo:has(img),
.footer-logo {
  width: clamp(122px, 12vw, 180px);
  height: 46px;
  overflow: visible;
}

.footer-logo:has(img) img,
.footer-logo:has(img) .custom-logo,
.footer-logo img,
.footer-logo .custom-logo {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 42px !important;
  min-width: 0 !important;
  transform: none !important;
  object-fit: contain;
}

.site-main,
.archive-hero,
.single-hero {
  overflow-x: clip;
}

.archive-hero h1,
.single-hero h1,
.archive-hero .container,
.single-hero-content {
  max-width: 100%;
}

.archive-hero h1,
.single-hero h1 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

body[data-lang="zh"] .archive-hero h1,
body[data-lang="zh"] .single-hero h1,
body[data-lang="zh"] .media-card-body h3,
body[data-lang="zh"] .film-archive-page .film-archive-grid .media-card-body h3 {
  font-weight: 850;
  line-height: 1.08;
}

.media-card-body h3,
.film-archive-page .film-archive-grid .media-card-body h3 {
  max-width: 100%;
}

@media (max-width: 620px) {
  .brand,
  .brand:has(img) {
    width: 112px;
    height: 38px;
    top: max(10px, env(safe-area-inset-top));
    left: max(12px, env(safe-area-inset-left));
  }

  .brand img,
  .brand .custom-logo,
  .brand:has(img) img,
  .brand:has(img) .custom-logo {
    max-height: 34px !important;
  }

  .archive-hero,
  .single-hero {
    min-height: 430px;
    padding: 116px 0 48px;
  }

  .archive-hero .container,
  .single-hero-content {
    width: min(100% - 28px, var(--max));
  }

  .archive-hero h1,
  .single-hero h1 {
    font-size: clamp(2.55rem, 18vw, 4.65rem);
    line-height: 1.02;
    max-width: 100%;
  }

  body[data-lang="zh"] .archive-hero h1,
  body[data-lang="zh"] .single-hero h1 {
    font-size: clamp(2.6rem, 13vw, 4.2rem);
    line-height: 1.12;
  }

  .archive-hero p,
  .single-hero-content p {
    max-width: 100%;
    font-size: 1rem;
    line-height: 1.62;
  }

  .filter-bar {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 6px;
  }

  .filter-bar button {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* 1.2.6: larger visible logo crop for transparent logo canvas. */
.brand:has(img) {
  width: clamp(184px, 15vw, 260px) !important;
  height: clamp(52px, 4.8vw, 74px) !important;
  overflow: hidden !important;
}

.brand:has(img) img,
.brand:has(img) .custom-logo {
  width: calc(clamp(184px, 15vw, 260px) * 4.95) !important;
  max-width: none !important;
  max-height: none !important;
  height: auto !important;
  transform: translate(-39.95%, -44.2%) !important;
  transform-origin: left top !important;
}

.footer-logo:has(img),
.footer-logo {
  width: clamp(260px, 18vw, 360px) !important;
  height: clamp(72px, 5.4vw, 96px) !important;
  overflow: hidden !important;
}

.footer-logo:has(img) img,
.footer-logo:has(img) .custom-logo,
.footer-logo img,
.footer-logo .custom-logo {
  width: calc(clamp(260px, 18vw, 360px) * 4.95) !important;
  max-width: none !important;
  max-height: none !important;
  height: auto !important;
  transform: translate(-39.95%, -44.2%) !important;
  transform-origin: left top !important;
}

@media (max-width: 620px) {
  .brand:has(img) {
    width: 154px !important;
    height: 48px !important;
  }

  .brand:has(img) img,
  .brand:has(img) .custom-logo {
    width: 762px !important;
  }

  .footer-logo:has(img),
  .footer-logo {
    width: 190px !important;
    height: 58px !important;
  }

  .footer-logo:has(img) img,
  .footer-logo:has(img) .custom-logo,
  .footer-logo img,
  .footer-logo .custom-logo {
    width: 940px !important;
  }
}

/* 1.2.7: fail-safe text wordmark, independent from uploaded logo image. */
.brand {
  width: auto !important;
  min-width: 132px !important;
  height: auto !important;
  min-height: 38px !important;
  overflow: visible !important;
  text-decoration: none;
}

.brand .custom-logo {
  display: none !important;
}

.brand-wordmark {
  display: inline-flex !important;
  align-items: center;
  min-height: 34px;
  padding: 0 10px 1px;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.34);
  color: #fff !important;
  font-family: "Arial Black", "Impact", "Arial Narrow", sans-serif !important;
  font-size: clamp(1.1rem, 1.6vw, 1.55rem) !important;
  font-style: italic;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0 !important;
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.72);
  transform: skewX(-7deg);
}

.footer-logo {
  width: auto !important;
  min-width: 210px !important;
  height: auto !important;
  min-height: 58px !important;
  overflow: visible !important;
}

.footer-logo .custom-logo {
  display: none !important;
}

.footer-wordmark {
  display: inline-flex !important;
  align-items: center;
  min-height: 52px;
  padding: 0 16px 2px;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.28);
  color: #fff !important;
  font-family: "Arial Black", "Impact", "Arial Narrow", sans-serif !important;
  font-size: clamp(1.55rem, 2.4vw, 2.45rem) !important;
  font-style: italic;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0 !important;
  transform: skewX(-7deg);
}

@media (max-width: 620px) {
  .brand {
    min-width: 118px !important;
  }

  .brand-wordmark {
    min-height: 30px;
    padding-inline: 8px;
    font-size: 1rem !important;
  }

  .footer-logo {
    min-width: 170px !important;
  }

  .footer-wordmark {
    min-height: 44px;
    padding-inline: 12px;
    font-size: 1.45rem !important;
  }
}

/* 1.2.8: image-only logo lock. Uploaded custom logo is preferred; theme SVG is the fallback. */
.brand-wordmark,
.footer-wordmark {
  display: none !important;
}

.site-header .brand,
.site-header .brand:has(img) {
  position: fixed;
  top: max(22px, env(safe-area-inset-top));
  left: max(28px, env(safe-area-inset-left));
  z-index: 10000;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  width: clamp(170px, 12vw, 240px) !important;
  min-width: 0 !important;
  height: 64px !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  line-height: 0;
  text-decoration: none;
}

.site-header .brand img,
.site-header .brand .custom-logo,
.site-header .brand .brand-logo-img,
.site-header .brand:has(img) img,
.site-header .brand:has(img) .custom-logo {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
  transform-origin: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-footer .footer-logo,
.site-footer .footer-logo:has(img) {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  width: clamp(250px, 18vw, 360px) !important;
  min-width: 0 !important;
  height: 86px !important;
  min-height: 0 !important;
  overflow: visible !important;
  line-height: 0;
  text-decoration: none;
}

.site-footer .footer-logo img,
.site-footer .footer-logo .custom-logo,
.site-footer .footer-logo .footer-logo-img,
.site-footer .footer-logo:has(img) img,
.site-footer .footer-logo:has(img) .custom-logo {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
  transform-origin: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 782px) {
  .admin-bar .site-header .brand,
  .admin-bar .site-header .brand:has(img) {
    top: calc(46px + max(14px, env(safe-area-inset-top)));
  }
}

@media (max-width: 620px) {
  .site-header .brand,
  .site-header .brand:has(img) {
    top: max(18px, env(safe-area-inset-top));
    left: max(18px, env(safe-area-inset-left));
    width: 150px !important;
    height: 50px !important;
  }

  .site-footer .footer-logo,
  .site-footer .footer-logo:has(img) {
    width: 220px !important;
    height: 72px !important;
  }
}

/* 1.4.0: mobile shop image recovery, transparent menu button and icon-only contacts. */
.nav-toggle,
.site-header.is-open .nav-toggle {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
  color: var(--accent);
}

.contact-icon-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.contact-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(244, 241, 232, 0.18);
  border-radius: 50%;
  background: rgba(244, 241, 232, 0.04);
  color: currentColor;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.contact-icon:hover,
.contact-icon:focus-visible {
  border-color: var(--accent);
  background: var(--accent);
  color: #11110d !important;
  transform: translateY(-2px);
}

.contact-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contact-icon-youtube svg path:last-child {
  fill: currentColor;
  stroke: none;
}

.footer-links,
.footer-direct,
.shop-contact-panel > .contact-icon-row,
.contact-panel .contact-icon-row {
  gap: 10px;
}

.footer-direct.contact-icon-row {
  justify-content: flex-end;
  text-align: right;
}

.shop-lowdown .shop-contact-panel .contact-icon,
.shop-lowdown .shop-contact-panel .contact-icon svg {
  color: var(--shop-ink);
}

@media (max-width: 980px) {
  .shop-lowdown .shop-product {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .shop-lowdown .shop-product-media {
    order: 0;
    width: 100%;
    min-width: 0;
  }

  .shop-lowdown .shop-product-summary {
    order: 1;
  }

  .shop-lowdown .shop-product-stage {
    width: 100%;
    min-height: auto;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 700px) {
  .shop-lowdown .shop-breadcrumbs {
    padding-top: 118px;
  }

  .shop-lowdown .shop-product {
    gap: 24px !important;
  }

  .shop-lowdown .shop-product-stage {
    aspect-ratio: 1 / 1.18;
  }

  .shop-lowdown .shop-slide img {
    object-fit: contain;
  }

  .footer-direct.contact-icon-row {
    justify-content: flex-start;
  }
}

/* 1.2.9: editable shop items from WordPress admin. */
.shop-price {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.6rem, 2.5vw, 2.6rem);
  font-weight: 900;
  line-height: 1;
}

.shop-description {
  max-width: 560px;
  color: rgba(242, 242, 242, 0.78);
  font-size: clamp(1rem, 1.15vw, 1.18rem);
  line-height: 1.75;
}

.shop-description p {
  margin: 0 0 0.8em;
}

.shop-specs {
  display: grid;
  gap: 10px;
  margin: 0;
}

.shop-specs div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 16px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.shop-specs dt,
.shop-specs dd {
  margin: 0;
}

.shop-specs dt {
  color: rgba(242, 242, 242, 0.52);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.shop-specs dd {
  color: rgba(242, 242, 242, 0.88);
  font-weight: 800;
}

.shop-detail-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  max-width: 560px;
}

.shop-detail-gallery img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.shop-order-note {
  margin: 0;
  color: rgba(242, 242, 242, 0.58);
  font-size: 0.92rem;
}

.shop-empty {
  display: grid;
  gap: 18px;
  min-height: 320px;
  align-content: center;
  padding: clamp(36px, 6vw, 72px);
  border: 1px solid var(--line);
  background: rgba(8, 8, 8, 0.82);
}

.shop-empty h2 {
  max-width: 900px;
}

@media (max-width: 620px) {
  .shop-specs div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .shop-detail-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 1.2.9: unified bilingual rhythm for mixed Chinese / Latin titles. */
body,
body[data-lang="zh"] {
  font-kerning: normal;
  letter-spacing: 0 !important;
  text-rendering: geometricPrecision;
}

.latin-lock,
body[data-lang="zh"] .latin-lock {
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.archive-hero h1,
.single-hero h1,
body[data-lang="zh"] .archive-hero h1,
body[data-lang="zh"] .single-hero h1 {
  max-width: min(100%, 1040px);
  font-family: var(--font-body) !important;
  font-size: clamp(3.4rem, 7vw, 8.4rem);
  font-weight: 850;
  line-height: 1.04;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.single-hero-content p,
body[data-lang="zh"] .single-hero-content p,
.content-body,
.content-body p,
body[data-lang="zh"] .content-body,
body[data-lang="zh"] .content-body p {
  font-family: var(--font-body) !important;
  line-height: 1.76;
  letter-spacing: 0 !important;
}

.eyebrow,
.meta-line,
.story-meta span,
.term-list a,
.filter-bar button,
.button,
.text-button,
.lang-toggle,
.menu a,
body[data-lang="zh"] .eyebrow,
body[data-lang="zh"] .meta-line,
body[data-lang="zh"] .story-meta span,
body[data-lang="zh"] .term-list a,
body[data-lang="zh"] .filter-bar button,
body[data-lang="zh"] .button,
body[data-lang="zh"] .text-button,
body[data-lang="zh"] .lang-toggle,
body[data-lang="zh"] .menu a {
  font-family: var(--font-body) !important;
  letter-spacing: 0 !important;
}

.media-card-body h3,
.film-archive-page .film-archive-grid .media-card-body h3,
body[data-lang="zh"] .media-card-body h3,
body[data-lang="zh"] .film-archive-page .film-archive-grid .media-card-body h3 {
  font-family: var(--font-body) !important;
  line-height: 1.04;
  letter-spacing: 0 !important;
}

@media (max-width: 620px) {
  .archive-hero h1,
  .single-hero h1,
  body[data-lang="zh"] .archive-hero h1,
  body[data-lang="zh"] .single-hero h1 {
    font-size: clamp(2.6rem, 13vw, 4.35rem);
    line-height: 1.08;
  }
}

/* 1.3.0: product-detail shop layout with carousel gallery. */
.shop-page .shop-hero {
  min-height: clamp(360px, 48svh, 520px);
  padding-bottom: clamp(48px, 8vw, 92px);
}

.shop-page .shop-hero .container {
  max-width: 1180px;
}

.shop-page .shop-hero h1 {
  max-width: 840px;
  font-size: clamp(4rem, 9vw, 9.2rem);
  line-height: 0.96;
}

.shop-catalog {
  gap: clamp(34px, 5vw, 72px) !important;
}

.shop-product {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.62fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: start;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(5, 5, 5, 0.84);
}

.shop-product-media {
  min-width: 0;
}

.shop-product-stage {
  position: relative;
  display: grid;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #080808;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.shop-slide {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.shop-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.shop-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #050505;
}

.shop-carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(0, 0, 0, 0.56);
  color: var(--text);
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}

.shop-carousel-arrow.prev {
  left: 14px;
}

.shop-carousel-arrow.next {
  right: 14px;
}

.shop-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.shop-thumb {
  display: block;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #080808;
  cursor: pointer;
  opacity: 0.58;
}

.shop-thumb.is-active {
  border-color: var(--accent);
  opacity: 1;
}

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

.shop-product-summary {
  position: sticky;
  top: 104px;
  display: grid;
  gap: clamp(14px, 1.7vw, 22px);
  padding: clamp(8px, 1.2vw, 18px) 0;
}

.shop-product-summary h2 {
  margin: 0;
  max-width: 620px;
  font-size: clamp(2.7rem, 4.5vw, 5.5rem);
  line-height: 1;
  overflow-wrap: anywhere;
}

.shop-product-summary .shop-price {
  font-size: clamp(1.7rem, 2.2vw, 2.5rem);
}

.shop-product-summary .shop-description {
  max-width: 520px;
}

.shop-order-button {
  width: min(100%, 420px);
  justify-content: center;
  text-align: center;
}

.shop-detail-gallery {
  display: none !important;
}

@media (max-width: 980px) {
  .shop-product {
    grid-template-columns: 1fr;
  }

  .shop-product-summary {
    position: static;
  }

  .shop-product-stage {
    aspect-ratio: 4 / 4.6;
  }
}

@media (max-width: 620px) {
  .shop-page .shop-hero {
    min-height: 360px;
    padding-top: 120px;
  }

  .shop-page .shop-hero h1 {
    font-size: clamp(3.2rem, 16vw, 5.2rem);
  }

  .shop-product {
    padding: 12px;
    gap: 20px;
  }

  .shop-product-stage {
    aspect-ratio: 1;
  }

  .shop-carousel-arrow {
    width: 38px;
    height: 38px;
    font-size: 1.65rem;
  }

  .shop-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .shop-product-summary h2 {
    font-size: clamp(2.35rem, 12vw, 3.8rem);
  }
}

/* 1.3.1: Lowdown-inspired shop detail page and clearer product information flow. */
.shop-lowdown {
  --shop-bg: #f5f4f0;
  --shop-paper: #fffdf8;
  --shop-ink: #101510;
  --shop-muted: rgba(16, 21, 16, 0.58);
  --shop-line: rgba(16, 21, 16, 0.14);
  background: var(--shop-bg);
  color: var(--shop-ink);
}

.shop-lowdown .shop-breadcrumbs {
  padding: clamp(96px, 12vh, 140px) 0 18px;
  background: var(--shop-bg);
  color: var(--shop-muted);
}

.shop-lowdown .shop-breadcrumbs .container {
  display: flex;
  gap: 10px;
  align-items: center;
  max-width: 1260px;
  font-size: 0.9rem;
}

.shop-lowdown .shop-breadcrumbs a {
  color: var(--shop-ink);
  text-decoration: none;
}

.shop-lowdown .shop-catalog-section {
  padding-top: 0;
  background: var(--shop-bg);
}

.shop-lowdown .shop-catalog {
  max-width: 1260px;
  gap: 72px !important;
}

.shop-lowdown .shop-product {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(320px, 420px);
  gap: clamp(36px, 5vw, 72px);
  align-items: start;
  padding: 0;
  border: 0;
  background: transparent;
}

.shop-lowdown .shop-product-media {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.shop-lowdown .shop-thumbs {
  order: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0;
}

.shop-lowdown .shop-thumb {
  width: 84px;
  aspect-ratio: 0.78;
  border: 2px solid transparent;
  background: var(--shop-paper);
  opacity: 1;
}

.shop-lowdown .shop-thumb.is-active {
  border-color: var(--accent);
}

.shop-lowdown .shop-product-stage {
  order: 1;
  aspect-ratio: 4 / 5.2;
  border: 0;
  background: var(--shop-paper);
}

.shop-lowdown .shop-slide img {
  object-fit: contain;
  background: var(--shop-paper);
}

.shop-lowdown .shop-carousel-arrow {
  width: 40px;
  height: 40px;
  border: 1px solid var(--shop-line);
  background: rgba(255, 253, 248, 0.9);
  color: var(--shop-ink);
  font-size: 1.1rem;
}

.shop-lowdown .shop-product-summary {
  top: 112px;
  gap: 22px;
  padding: 6px 0 0;
  color: var(--shop-ink);
}

.shop-lowdown .shop-kicker {
  margin: 0;
  color: var(--shop-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.shop-lowdown .shop-product-summary h1 {
  margin: 0;
  color: var(--shop-ink);
  font-size: clamp(2.2rem, 3vw, 3.8rem);
  line-height: 1.08;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

.shop-lowdown .shop-price {
  margin: 0;
  color: var(--shop-ink);
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  font-weight: 500;
}

.shop-lowdown .shop-description {
  color: var(--shop-muted);
  font-size: 1rem;
  line-height: 1.72;
}

.shop-lowdown .shop-bullets {
  display: grid;
  gap: 10px;
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--shop-ink);
  font-size: 0.95rem;
  font-weight: 800;
  font-style: italic;
  line-height: 1.55;
}

.shop-lowdown .shop-order-box {
  display: grid;
  gap: 18px;
  margin-top: 16px;
  padding-top: 24px;
  border-top: 1px solid var(--shop-line);
}

.shop-lowdown .shop-order-box p {
  margin: 0;
  color: var(--shop-muted);
}

.shop-lowdown .shop-order-button {
  width: 100%;
  min-height: 54px;
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

.shop-lowdown .shop-contact-panel {
  max-width: 1260px;
  color: var(--shop-ink);
  border-top-color: var(--shop-line);
}

.shop-lowdown .shop-contact-panel span,
.shop-lowdown .shop-contact-panel a {
  color: var(--shop-ink);
}

@media (max-width: 980px) {
  .shop-lowdown .shop-product {
    grid-template-columns: 1fr;
  }

  .shop-lowdown .shop-product-summary {
    position: static;
  }
}

@media (max-width: 700px) {
  .shop-lowdown .shop-breadcrumbs {
    padding-top: 112px;
  }

  .shop-lowdown .shop-product-media {
    grid-template-columns: 1fr;
  }

  .shop-lowdown .shop-product-stage {
    aspect-ratio: 1;
  }

  .shop-lowdown .shop-thumbs {
    order: 2;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .shop-lowdown .shop-thumb {
    width: auto;
    aspect-ratio: 1;
  }
}

/* 1.3.2: large product hero image with click-to-switch thumbnail gallery. */
.shop-lowdown .shop-product {
  grid-template-columns: minmax(0, 780px) minmax(320px, 420px);
}

.shop-lowdown .shop-product-media {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.shop-lowdown .shop-product-stage {
  order: 0;
  min-height: clamp(520px, 64vw, 860px);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--shop-paper);
  box-shadow: 0 28px 70px rgba(16, 21, 16, 0.08);
}

.shop-lowdown .shop-slide {
  cursor: zoom-in;
}

.shop-lowdown .shop-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.shop-lowdown .shop-thumbs {
  order: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.shop-lowdown .shop-thumb {
  width: auto;
  aspect-ratio: 1;
  overflow: hidden;
  border: 2px solid transparent;
  background: var(--shop-paper);
  transition: border-color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.shop-lowdown .shop-thumb:hover,
.shop-lowdown .shop-thumb:focus-visible {
  border-color: rgba(16, 21, 16, 0.42);
  transform: translateY(-1px);
}

.shop-lowdown .shop-thumb.is-active {
  border-color: var(--accent);
}

.shop-lowdown .shop-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 980px) {
  .shop-lowdown .shop-product-stage {
    min-height: auto;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 700px) {
  .shop-lowdown .shop-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
  }
}

/* 1.3.3: Midnight Touge direction, keeping the quiet premium spacing while adding JDM night-run energy. */
:root {
  --accent: #f2c230;
  --accent-hot: #e3342f;
  --jdm-signal: #42d6a4;
  --asphalt: #050607;
  --steel: #8d918c;
  --mist: #f4f1e8;
}

body {
  background:
    radial-gradient(circle at 12% 8%, rgba(242, 194, 48, 0.13), transparent 30rem),
    radial-gradient(circle at 88% 16%, rgba(66, 214, 164, 0.08), transparent 24rem),
    linear-gradient(135deg, rgba(244, 241, 232, 0.024) 1px, transparent 1px),
    var(--asphalt);
  background-size: auto, auto, 92px 92px, auto;
}

.scroll-progress span,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--accent);
  border-color: var(--accent);
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--accent-hot);
  border-color: var(--accent-hot);
  color: #fff;
}

.primary-nav {
  background:
    linear-gradient(90deg, rgba(244, 241, 232, 0.08), transparent 1px) 0 0 / 28px 28px,
    linear-gradient(155deg, #f4f1e8 0%, #e4dfd1 46%, #17140d 46.2%, #050607 100%) !important;
  border-left: 1px solid rgba(244, 241, 232, 0.14);
}

.primary-nav::before {
  content: "SWAV777";
  position: absolute;
  right: clamp(22px, 4.2vw, 70px);
  bottom: clamp(28px, 5vw, 84px);
  color: rgba(255, 255, 255, 0.08);
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 11vw, 10rem);
  font-weight: 900;
  line-height: 0.82;
  pointer-events: none;
}

.primary-nav .menu a {
  color: rgba(7, 8, 9, 0.88);
}

.primary-nav .menu a:hover,
.primary-nav .menu .current-menu-item > a,
.primary-nav .menu .current_page_item > a {
  color: #c18d00;
}

.site-header.is-open .nav-toggle,
.site-header.is-open .lang-toggle {
  color: #f7f6f0;
}

.site-header.is-open .nav-toggle span {
  background: #f7f6f0;
}

.shop-lowdown {
  --shop-bg: #f4f1e8;
  --shop-paper: #fffaf0;
  --shop-ink: #11110d;
  --shop-muted: rgba(17, 17, 13, 0.56);
  --shop-line: rgba(17, 17, 13, 0.13);
  --shop-yellow: #f2c230;
  --shop-red: #e3342f;
  --shop-green: #42d6a4;
  background:
    radial-gradient(circle at 88% 8%, rgba(66, 214, 164, 0.11), transparent 24rem),
    linear-gradient(90deg, rgba(17, 17, 13, 0.035) 1px, transparent 1px) 0 0 / 74px 74px,
    var(--shop-bg);
}

.shop-lowdown .shop-breadcrumbs,
.shop-lowdown .shop-catalog-section {
  background: transparent;
}

.shop-lowdown .shop-breadcrumbs a:hover {
  color: #ad8200;
}

.shop-lowdown .shop-product {
  position: relative;
}

.shop-lowdown .shop-product::before {
  content: "";
  position: absolute;
  top: -28px;
  left: 0;
  width: min(160px, 24vw);
  height: 3px;
  background: var(--shop-yellow);
}

.shop-lowdown .shop-product-stage,
.shop-lowdown .shop-thumb,
.shop-lowdown .shop-slide img {
  background: #f8f7f1;
}

.shop-lowdown .shop-product-stage {
  box-shadow: 0 30px 90px rgba(17, 21, 24, 0.11);
}

.shop-lowdown .shop-thumb:hover,
.shop-lowdown .shop-thumb:focus-visible {
  border-color: rgba(242, 194, 48, 0.72);
}

.shop-lowdown .shop-thumb.is-active {
  border-color: var(--shop-yellow);
}

.shop-lowdown .shop-kicker {
  color: #ad8200;
}

.shop-lowdown .shop-bullets {
  font-style: normal;
}

.shop-lowdown .shop-order-button {
  border-color: var(--shop-ink);
  background: var(--shop-ink);
  color: #fbfaf5;
  box-shadow: 0 18px 40px rgba(17, 21, 24, 0.16);
}

.shop-lowdown .shop-order-button:hover,
.shop-lowdown .shop-order-button:focus-visible {
  border-color: var(--shop-red);
  background: var(--shop-red);
}

.shop-lowdown .shop-order-box {
  position: relative;
}

.shop-lowdown .shop-order-box::after {
  content: "";
  width: 44px;
  height: 2px;
  background: var(--shop-red);
}

.shop-lowdown .shop-carousel-arrow {
  background: rgba(251, 250, 245, 0.92);
}

.shop-lowdown .shop-carousel-arrow:hover,
.shop-lowdown .shop-carousel-arrow:focus-visible {
  border-color: var(--shop-yellow);
  color: #ad8200;
}

@media (max-width: 700px) {
  .primary-nav::before {
    right: 18px;
    bottom: 24px;
    font-size: clamp(3rem, 20vw, 6rem);
  }

  .shop-lowdown .shop-product::before {
    top: -18px;
  }
}

/* 1.3.4: homepage interaction polish and cleaner menu/ticker behavior. */
.home-minimal .hero .brand-title,
.home-minimal .hero-content::after,
.primary-nav::before {
  content: none !important;
  display: none !important;
}

.home-minimal .hero-content-minimal .button-row .button {
  border-color: rgba(244, 241, 232, 0.42);
  background: transparent;
  color: #f4f1e8;
  box-shadow: none;
}

.home-minimal .hero-content-minimal .button-row .button:hover,
.home-minimal .hero-content-minimal .button-row .button:focus-visible {
  border-color: var(--accent);
  background: var(--accent);
  color: #11110d;
  transform: translateY(-2px);
}

.primary-nav {
  background:
    linear-gradient(115deg, transparent 0 72%, rgba(17, 17, 13, 0.045) 72.1% 72.35%, transparent 72.45%),
    linear-gradient(90deg, rgba(17, 17, 13, 0.035), transparent 1px) 0 0 / 28px 28px,
    #f4f1e8 !important;
  color: #11110d;
  border-left: 1px solid rgba(17, 17, 13, 0.16);
}

.primary-nav .menu a {
  color: #11110d;
}

.primary-nav .menu a::after {
  background: var(--accent);
}

.primary-nav .menu a:hover,
.primary-nav .menu .current-menu-item > a,
.primary-nav .menu .current_page_item > a {
  color: #ad8200;
}

.site-header.is-open .nav-toggle {
  background: #11110d;
  color: #f4f1e8;
}

.site-header.is-open .lang-toggle,
.site-header.is-open .lang-toggle span,
.site-header.is-open .lang-toggle b {
  color: #11110d;
}

.ticker-strip {
  width: 100%;
}

.ticker-track {
  min-width: max-content;
  animation: swav777-ticker 24s linear infinite;
}

.ticker-track span {
  min-width: max-content;
}

@keyframes swav777-ticker {
  from {
    transform: translateX(100vw);
  }

  to {
    transform: translateX(-50%);
  }
}

/* 1.3.5: stabilize EN/CN typography so language switching does not reflow layouts. */
:root {
  --font-ui-stable: "Helvetica Neue", Arial, "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", sans-serif;
  --font-display-stable: "Helvetica Neue", Arial, "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", sans-serif;
}

body,
body[data-lang="zh"],
p,
li,
.content-body,
.content-body p,
.single-hero-content p,
.media-card-body,
.contact-panel,
.form-slot,
.woocommerce,
.woocommerce-wrap,
body[data-lang="zh"] p,
body[data-lang="zh"] li,
body[data-lang="zh"] .content-body,
body[data-lang="zh"] .content-body p,
body[data-lang="zh"] .single-hero-content p,
body[data-lang="zh"] .media-card-body,
body[data-lang="zh"] .contact-panel,
body[data-lang="zh"] .form-slot,
body[data-lang="zh"] .woocommerce,
body[data-lang="zh"] .woocommerce-wrap {
  font-family: var(--font-ui-stable) !important;
  font-weight: 400;
  letter-spacing: 0 !important;
  line-height: 1.76;
}

h1,
h2,
h3,
h4,
.archive-hero h1,
.single-hero h1,
.hero-content h1,
.menu a,
.ticker-track span,
.button,
.text-button,
.lang-toggle,
.lang-toggle b,
.lang-toggle span,
.eyebrow,
.meta-line,
.play-mark,
.gallery-card span,
.woocommerce-loop-product__title,
.product_title,
.swav777-product-colors span,
.swav777-inquiry-button,
body[data-lang="zh"] h1,
body[data-lang="zh"] h2,
body[data-lang="zh"] h3,
body[data-lang="zh"] h4,
body[data-lang="zh"] .archive-hero h1,
body[data-lang="zh"] .single-hero h1,
body[data-lang="zh"] .hero-content h1,
body[data-lang="zh"] .menu a,
body[data-lang="zh"] .ticker-track span,
body[data-lang="zh"] .button,
body[data-lang="zh"] .text-button,
body[data-lang="zh"] .lang-toggle,
body[data-lang="zh"] .lang-toggle b,
body[data-lang="zh"] .lang-toggle span,
body[data-lang="zh"] .eyebrow,
body[data-lang="zh"] .meta-line,
body[data-lang="zh"] .play-mark,
body[data-lang="zh"] .gallery-card span,
body[data-lang="zh"] .woocommerce-loop-product__title,
body[data-lang="zh"] .product_title,
body[data-lang="zh"] .swav777-product-colors span,
body[data-lang="zh"] .swav777-inquiry-button {
  font-family: var(--font-display-stable) !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.04;
}

.latin-lock,
body[data-lang="zh"] .latin-lock {
  display: contents;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.lang-toggle {
  min-width: 74px;
  justify-content: flex-end;
}

.lang-toggle b,
.lang-toggle span {
  min-width: 18px;
  text-align: center;
}

/* 1.3.7: persistent floating header controls with cleaner language switch styling. */
.site-header,
.site-header.is-scrolled,
.site-header.is-open,
.site-header .header-inner,
.site-header.is-scrolled .header-inner,
.site-header.is-open .header-inner {
  background: transparent !important;
  border-color: transparent !important;
  backdrop-filter: none !important;
}

.site-header .brand,
.site-header .brand:has(img) {
  position: fixed !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  left: max(18px, env(safe-area-inset-left)) !important;
  z-index: 10020 !important;
  width: clamp(168px, 12vw, 228px) !important;
  height: 54px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(244, 241, 232, 0.16);
  background: rgba(6, 7, 7, 0.44);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.site-header .brand img,
.site-header .brand .custom-logo,
.site-header .brand .brand-logo-img,
.site-header .brand:has(img) img,
.site-header .brand:has(img) .custom-logo {
  pointer-events: none;
}

.nav-toggle {
  position: fixed !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  z-index: 10030 !important;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(244, 241, 232, 0.18);
  background: rgba(6, 7, 7, 0.46);
  color: #f4f1e8;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.nav-toggle span {
  width: 18px;
  height: 2px;
}

.lang-toggle {
  position: fixed !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  right: calc(max(18px, env(safe-area-inset-right)) + 58px) !important;
  z-index: 10025 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 78px;
  height: 46px;
  padding: 0 10px;
  border: 1px solid rgba(244, 241, 232, 0.18);
  border-radius: 999px;
  background: rgba(6, 7, 7, 0.46);
  color: rgba(244, 241, 232, 0.92);
  text-shadow: none;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.lang-toggle:hover,
.lang-toggle:focus-visible {
  border-color: rgba(242, 194, 48, 0.56);
  background: rgba(17, 17, 13, 0.72);
  color: #f4f1e8;
  transform: translateY(-1px);
}

.lang-toggle span,
.lang-toggle b {
  min-width: 20px;
  color: inherit !important;
  font-size: 0.74rem;
  line-height: 1;
}

.lang-toggle span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(244, 241, 232, 0.08);
}

.site-header.is-open .nav-toggle,
.site-header.is-open .lang-toggle,
.site-header.is-open .lang-toggle span,
.site-header.is-open .lang-toggle b {
  color: #f4f1e8 !important;
}

@media (max-width: 620px) {
  .site-header .brand,
  .site-header .brand:has(img) {
    width: 148px !important;
    height: 48px !important;
    padding: 7px 10px !important;
  }

  .lang-toggle {
    min-width: 70px;
    height: 42px;
    right: calc(max(14px, env(safe-area-inset-right)) + 52px) !important;
  }

  .nav-toggle {
    width: 42px;
    height: 42px;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: max(14px, env(safe-area-inset-right)) !important;
  }

  .site-header .brand,
  .site-header .brand:has(img),
  .lang-toggle {
    top: max(14px, env(safe-area-inset-top)) !important;
  }
}

/* 1.4.0 final cascade lock. */
.nav-toggle,
.site-header.is-open .nav-toggle {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@media (max-width: 980px) {
  .shop-lowdown .shop-product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .shop-lowdown .shop-product-media {
    order: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .shop-lowdown .shop-product-summary {
    order: 1 !important;
    width: 100% !important;
  }

  .shop-lowdown .shop-product-stage {
    width: 100% !important;
    min-height: auto !important;
    aspect-ratio: 4 / 5 !important;
  }
}

@media (max-width: 700px) {
  .shop-lowdown .shop-product-stage {
    aspect-ratio: 1 / 1.18 !important;
  }
}

/* 1.4.3: contact hero background should cover wide screens and fade into the page. */
.contact-hero {
  isolation: isolate;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-color: #050505 !important;
}

.contact-hero::before,
.contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.contact-hero::before {
  z-index: 1;
  opacity: 1 !important;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.54) 0%, rgba(5, 5, 5, 0.14) 42%, rgba(5, 5, 5, 0.42) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.038) 0 1px, transparent 1px 110px) !important;
}

.contact-hero::after {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.34) 0%, rgba(5, 5, 5, 0.06) 34%, rgba(5, 5, 5, 0.42) 78%, #050505 100%),
    linear-gradient(0deg, #050505 0%, rgba(5, 5, 5, 0) 40%) !important;
}

.contact-hero .container {
  z-index: 2;
}

/* 1.3.9: larger clean logo without overlay frame or shadow. */
.site-header .brand,
.site-header .brand:has(img) {
  width: clamp(232px, 17vw, 330px) !important;
  height: 84px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}

.site-header .brand img,
.site-header .brand .custom-logo,
.site-header .brand .brand-logo-img,
.site-header .brand:has(img) img,
.site-header .brand:has(img) .custom-logo {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

@media (max-width: 620px) {
  .site-header .brand,
  .site-header .brand:has(img) {
    width: 186px !important;
    height: 64px !important;
    padding: 0 !important;
    left: max(14px, env(safe-area-inset-left)) !important;
  }
}

/* 1.4.0: final mobile/header overrides. */
.nav-toggle,
.site-header.is-open .nav-toggle {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@media (max-width: 980px) {
  .shop-lowdown .shop-product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .shop-lowdown .shop-product-media {
    order: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .shop-lowdown .shop-product-summary {
    order: 1 !important;
    width: 100% !important;
  }

  .shop-lowdown .shop-product-stage {
    width: 100% !important;
    min-height: auto !important;
    aspect-ratio: 4 / 5 !important;
  }
}

@media (max-width: 700px) {
  .shop-lowdown .shop-product-stage {
    aspect-ratio: 1 / 1.18 !important;
  }
}
