:root {
  --black: #080808;
  --ink: #111111;
  --charcoal: #181818;
  --silver: #c8c8c8;
  --line: rgba(255, 255, 255, 0.16);
  --soft-line: rgba(17, 17, 17, 0.15);
  --paper: #f2f1ed;
  --white: #ffffff;
  --muted: #777771;
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body.menu-open,
body.dialog-open,
body.cart-open {
  overflow: hidden;
}

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

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

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

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  padding: 12px 18px;
  background: white;
  color: black;
  border-radius: 2px;
}

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

.announcement {
  position: relative;
  z-index: 30;
  overflow: hidden;
  height: 34px;
  background: #d4d4d2;
  color: #111;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.announcement-track {
  width: max-content;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 24px;
  padding-left: 24px;
  animation: ticker 24s linear infinite;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.19em;
  font-weight: 700;
  white-space: nowrap;
}

.announcement-track i {
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 25;
  height: 78px;
  padding: 0 4.5vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  background: rgba(8, 8, 8, 0.88);
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  backdrop-filter: blur(18px);
}

.brand {
  width: 160px;
  height: 38px;
  display: flex;
  align-items: center;
}

.brand img {
  width: 154px;
  height: auto;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(24px, 3vw, 52px);
}

.desktop-nav a,
.text-button {
  position: relative;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 250ms ease;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 1px;
  transform: scaleX(0);
  background: white;
  transition: transform 250ms var(--ease);
}

.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.text-button:hover,
.text-button:focus-visible {
  color: white;
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after,
.desktop-nav a.active::after {
  transform: scaleX(1);
}

.header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 22px;
}

.text-button,
.menu-button,
.link-button,
.dialog-close,
.thumb,
.cart-button,
.cart-close,
.remove-item,
.quantity-control button {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.cart-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: white;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cart-count {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  font-size: 9px;
}

.menu-button {
  display: none;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
  color: white;
}

.menu-button span {
  width: 22px;
  height: 1px;
  background: currentColor;
  transition: transform 250ms ease;
}

.menu-button[aria-expanded="true"] span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.menu-button[aria-expanded="true"] span:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

.mobile-menu {
  position: fixed;
  z-index: 24;
  inset: 112px 0 0;
  padding: 48px 6vw;
  background: rgba(8, 8, 8, 0.98);
  color: white;
}

.mobile-menu nav {
  display: grid;
  margin-bottom: 42px;
}

.mobile-menu nav a {
  display: flex;
  justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 8vw, 42px);
}

.hero {
  position: relative;
  isolation: isolate;
  min-height: 820px;
  padding: 68px 4.5vw 72px;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(540px, 1.12fr);
  gap: 5vw;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 13% 18%, rgba(255,255,255,0.06), transparent 25%),
    linear-gradient(115deg, #101010 0%, #060606 62%, #111 100%);
  color: white;
}

.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.42;
  background-image:
    repeating-linear-gradient(100deg, transparent 0, transparent 5px, rgba(255,255,255,.015) 6px),
    linear-gradient(90deg, transparent 49.95%, rgba(255,255,255,.05) 50%, transparent 50.05%);
}

.hero-glow {
  position: absolute;
  z-index: -1;
  width: 720px;
  height: 720px;
  top: 2%;
  right: -8%;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
  box-shadow: inset 0 0 90px rgba(255,255,255,0.025), 0 0 80px rgba(255,255,255,0.025);
}

.eyebrow {
  margin: 0 0 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #858581;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.eyebrow span {
  width: 28px;
  height: 1px;
  background: currentColor;
}

.eyebrow-light {
  color: rgba(255,255,255,.72);
}

.hero h1,
.statement h2,
.engineering h2,
.lifestyle-copy h2,
.launch-cta h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.055em;
}

.hero h1 {
  font-size: clamp(72px, 8vw, 138px);
  line-height: 0.82;
}

h1 em,
h2 em {
  color: #a9a9a5;
  font-weight: 400;
}

.hero-intro {
  max-width: 570px;
  margin: 38px 0 0;
  color: rgba(255,255,255,.65);
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.65;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.button {
  min-height: 52px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 250ms ease, color 250ms ease, border 250ms ease, transform 250ms var(--ease);
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button-light {
  background: white;
  color: #0b0b0b;
}

.button-light:hover,
.button-light:focus-visible {
  background: #d9d9d6;
}

.button-ghost {
  background: transparent;
  color: white;
  border-color: rgba(255,255,255,.25);
}

.button-ghost:hover,
.button-ghost:focus-visible {
  border-color: white;
}

.button-solid {
  background: #101010;
  color: white;
}

.button-solid:hover,
.button-solid:focus-visible {
  background: #343434;
}

.button-full {
  width: 100%;
  justify-content: space-between;
}

.hero-proof {
  max-width: 620px;
  margin-top: 62px;
  padding-top: 22px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
}

.hero-proof div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.hero-proof strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 2.1vw, 34px);
  font-weight: 400;
}

.hero-proof span {
  color: rgba(255,255,255,.44);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-visual {
  position: relative;
  width: min(100%, 760px);
  justify-self: end;
}

.hero-frame {
  position: relative;
  z-index: 2;
  width: 73%;
  margin: 0 auto;
  aspect-ratio: 0.82;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  background: #1b1b1b;
  box-shadow: 0 36px 80px rgba(0,0,0,.48);
}

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

.frame-index,
.frame-note {
  position: absolute;
  z-index: 2;
  bottom: 14px;
  padding: 7px 9px;
  background: rgba(5,5,5,.72);
  color: rgba(255,255,255,.8);
  backdrop-filter: blur(8px);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.frame-index { left: 14px; }
.frame-note { right: 14px; }

.metal-orbit {
  position: absolute;
  inset: 4% -5% 2%;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 50%;
  transform: rotate(-14deg);
}

.metal-orbit::after {
  content: "";
  position: absolute;
  right: 5%;
  bottom: 12%;
  width: 150px;
  height: 2px;
  background: linear-gradient(90deg, transparent, white, transparent);
  box-shadow: 0 0 20px white;
}

.floating-card {
  position: absolute;
  z-index: 3;
  min-width: 170px;
  padding: 15px 18px;
  display: grid;
  gap: 3px;
  background: rgba(18,18,18,.88);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(14px);
  box-shadow: 0 14px 40px rgba(0,0,0,.32);
}

.floating-card span {
  color: rgba(255,255,255,.45);
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.floating-card strong {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 17px;
}

.floating-card-top { top: 13%; left: -2%; }
.floating-card-bottom { right: -1%; bottom: 12%; }

.marquee {
  overflow: hidden;
  padding: 26px 0;
  background: #d6d6d3;
  border-top: 1px solid rgba(0,0,0,.15);
  border-bottom: 1px solid rgba(0,0,0,.15);
}

.marquee-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 38px;
  animation: marquee 30s linear infinite;
  color: #222;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 3.3vw, 54px);
  white-space: nowrap;
}

.marquee-track b {
  color: #8a8a86;
  font-size: .42em;
}

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

.section-pad {
  padding: 110px 6vw;
}

.section-label {
  margin-bottom: 75px;
  display: flex;
  align-items: center;
  gap: 18px;
  color: #777771;
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.section-label::after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--soft-line);
}

.section-label span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 9px;
}

.section-label p { margin: 0; }

.section-label-light {
  color: rgba(255,255,255,.55);
}

.section-label-light::after {
  background: rgba(255,255,255,.15);
}

.statement-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
  gap: 8vw;
  align-items: end;
}

.statement h2,
.engineering h2 {
  font-size: clamp(52px, 6.8vw, 108px);
  line-height: .96;
}

.statement-copy {
  padding-bottom: 8px;
}

.statement-copy p,
.engineering-head > p {
  margin: 0;
  color: #666661;
  font-size: 18px;
  line-height: 1.75;
}

.inline-link {
  margin-top: 28px;
  padding-bottom: 7px;
  display: inline-flex;
  gap: 28px;
  border-bottom: 1px solid #333;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.feature-grid {
  margin-top: 100px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--soft-line);
  border-bottom: 1px solid var(--soft-line);
}

.feature-card {
  position: relative;
  min-height: 390px;
  padding: 28px clamp(24px, 3vw, 50px) 38px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--soft-line);
}

.feature-card:first-child { padding-left: 0; }
.feature-card:last-child { border-right: 0; padding-right: 0; }

.feature-number {
  color: #888882;
  font-size: 10px;
  letter-spacing: .1em;
}

.feature-glyph {
  height: 90px;
  margin: 64px 0 44px;
  color: #777;
}

.glyph-layers,
.glyph-fold {
  display: flex;
  align-items: center;
  gap: 9px;
}

.glyph-layers i {
  width: 54px;
  height: 54px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.glyph-layers i:nth-child(2) { transform: scale(.72); margin-left: -42px; }
.glyph-layers i:nth-child(3) { transform: scale(.44); margin-left: -31px; }

.glyph-wheel {
  position: relative;
  width: 90px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.glyph-wheel::before,
.glyph-wheel::after,
.glyph-wheel i {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 1px;
  height: 62px;
  background: currentColor;
  transform-origin: center;
}

.glyph-wheel::before { transform: translate(-50%,-50%) rotate(0); }
.glyph-wheel::after { transform: translate(-50%,-50%) rotate(60deg); }
.glyph-wheel i { transform: translate(-50%,-50%) rotate(120deg); }

.glyph-fold {
  position: relative;
  width: 120px;
}

.glyph-fold i {
  width: 70px;
  height: 88px;
  border: 1px solid currentColor;
  transform: skewY(-18deg);
}

.glyph-fold i:last-child {
  margin-left: -42px;
  transform: skewY(18deg);
}

.feature-card h3 {
  max-width: 340px;
  margin: auto 0 15px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 2vw, 31px);
  font-weight: 400;
  line-height: 1.16;
}

.feature-card p {
  max-width: 350px;
  margin: 0;
  color: #71716c;
  line-height: 1.65;
}

.product-section {
  background: #dededb;
}

.product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(390px, .78fr);
  gap: clamp(44px, 7vw, 120px);
  align-items: start;
}

.gallery-stage {
  position: relative;
  height: min(72vw, 760px);
  overflow: hidden;
  background: #c7c6c2;
}

.gallery-stage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 180ms ease, transform 600ms var(--ease);
}

.gallery-stage:hover img {
  transform: scale(1.015);
}

.gallery-stage img.changing { opacity: .25; }

.gallery-chip {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 10px 12px;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(8px);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.gallery-thumbs {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.thumb {
  position: relative;
  height: 105px;
  overflow: hidden;
  border: 1px solid transparent;
  opacity: .58;
  transition: opacity 200ms ease, border 200ms ease;
}

.thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 3px solid transparent;
}

.thumb.active,
.thumb:hover,
.thumb:focus-visible {
  opacity: 1;
  border-color: #1b1b1b;
}

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

.product-panel {
  position: sticky;
  top: 116px;
}

.product-kicker {
  margin: 0 0 17px;
  color: #6f6f69;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.product-panel h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4.3vw, 67px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.035em;
}

.product-description {
  max-width: 590px;
  margin: 24px 0 30px;
  color: #686862;
  font-size: 17px;
  line-height: 1.7;
}

.product-status {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(0,0,0,.15);
  border-bottom: 1px solid rgba(0,0,0,.15);
}

.product-status div {
  display: grid;
  gap: 4px;
}

.product-status span {
  color: #777770;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.product-status strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 400;
}

.product-status i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: #71856c;
}

.product-points {
  margin: 25px 0 30px;
  padding: 0;
  list-style: none;
}

.product-points li {
  padding: 15px 0;
  display: grid;
  grid-template-columns: 35px 1fr;
  border-bottom: 1px solid rgba(0,0,0,.1);
}

.product-points li > span {
  color: #8d8d87;
  font-size: 10px;
}

.product-points p {
  margin: 0;
  color: #686862;
  line-height: 1.6;
}

.product-points strong { color: #202020; font-weight: 600; }

.microcopy {
  margin: 11px 0 0;
  color: #797973;
  font-size: 11px;
  text-align: center;
}

.product-detail-link {
  margin: 16px auto 0;
  padding-bottom: 5px;
  display: flex;
  width: max-content;
  gap: 24px;
  border-bottom: 1px solid rgba(0,0,0,.35);
  font-size: 10px;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.product-detail-link:hover,
.product-detail-link:focus-visible { border-color: #000; }

.engineering {
  background: #0b0b0b;
  color: white;
}

.engineering-head {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(310px, .7fr);
  gap: 8vw;
  align-items: end;
}

.engineering-head > p {
  padding-bottom: 10px;
  color: rgba(255,255,255,.54);
}

.engineering-grid {
  margin-top: 90px;
  display: grid;
  grid-template-columns: minmax(360px, .86fr) minmax(430px, 1.14fr);
  gap: clamp(40px, 7vw, 120px);
  align-items: center;
}

.engineering-image {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  background: #e9e9e7;
}

.engineering-image img {
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
}

.engineering-image span {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 10px;
  background: rgba(0,0,0,.75);
  color: rgba(255,255,255,.68);
  backdrop-filter: blur(8px);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.spec-stack {
  border-top: 1px solid var(--line);
}

.spec-row {
  min-height: 105px;
  padding: 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid var(--line);
}

.spec-row > span {
  color: rgba(255,255,255,.5);
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.spec-row strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 400;
  line-height: 1;
}

.spec-row small {
  color: rgba(255,255,255,.45);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lifestyle-banner {
  position: relative;
  min-height: 790px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #222;
  color: white;
}

.lifestyle-banner > img,
.lifestyle-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.lifestyle-banner > img {
  object-fit: cover;
  object-position: center 45%;
}

.lifestyle-overlay {
  background: linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.52) 45%, rgba(0,0,0,.05) 80%), linear-gradient(0deg, rgba(0,0,0,.48), transparent 45%);
}

.lifestyle-copy {
  position: relative;
  z-index: 2;
  padding: 90px 6vw;
}

.lifestyle-copy h2 {
  max-width: 960px;
  margin-bottom: 36px;
  font-size: clamp(48px, 6.6vw, 105px);
  line-height: .96;
}

.faq {
  background: var(--paper);
}

.faq-layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(500px, 1.28fr);
  gap: 9vw;
}

.faq-intro h2 {
  margin: 0 0 20px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(43px, 5vw, 78px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
}

.faq-intro p {
  color: #797973;
}

.faq-list {
  border-top: 1px solid rgba(0,0,0,.18);
}

.faq-list details {
  border-bottom: 1px solid rgba(0,0,0,.18);
}

.faq-list summary {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  cursor: pointer;
  list-style: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.7vw, 24px);
}

.faq-list summary::-webkit-details-marker { display: none; }

.faq-list summary span {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 26px;
  font-weight: 300;
  transition: transform 240ms ease;
}

.faq-list details[open] summary span { transform: rotate(45deg); }

.faq-list details p {
  max-width: 650px;
  margin: -8px 60px 30px 0;
  color: #686862;
  line-height: 1.7;
}

.launch-cta {
  position: relative;
  isolation: isolate;
  min-height: 700px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #090909;
  color: white;
  text-align: center;
}

.launch-cta::before {
  content: "CASINOX";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.08);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22vw;
  letter-spacing: -.08em;
  white-space: nowrap;
}

.launch-orbit {
  position: absolute;
  z-index: -1;
  width: min(76vw, 1050px);
  aspect-ratio: 2.4;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  transform: rotate(-9deg);
  box-shadow: 0 0 110px rgba(255,255,255,.03);
}

.launch-cta h2 {
  font-size: clamp(54px, 7.5vw, 120px);
  line-height: .9;
}

.launch-cta > p:not(.eyebrow) {
  margin: 30px 0 28px;
  color: rgba(255,255,255,.55);
  font-size: 17px;
}

footer {
  padding: 80px 6vw 24px;
  background: #080808;
  color: white;
  border-top: 1px solid rgba(255,255,255,.12);
}

.footer-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
}

.footer-brand img {
  width: 220px;
}

.footer-brand p {
  margin: 18px 0 0;
  color: rgba(255,255,255,.46);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.footer-links div {
  display: grid;
  align-content: start;
  gap: 10px;
}

.footer-links span {
  margin-bottom: 8px;
  color: rgba(255,255,255,.38);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footer-links a,
.link-button {
  width: max-content;
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

.link-button { padding: 0; background: none; border: 0; cursor: pointer; }

.footer-links a:hover,
.footer-links a:focus-visible,
.link-button:hover,
.link-button:focus-visible { color: white; }

.footer-bottom {
  margin-top: 80px;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.35);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Contact route */
.contact-hero {
  position: relative;
  isolation: isolate;
  min-height: 760px;
  padding: 110px 6vw 95px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: radial-gradient(circle at 50% 48%, rgba(255,255,255,.07), transparent 35%), linear-gradient(130deg, #101010, #050505 62%, #151515);
  color: white;
  text-align: center;
}

.contact-hero::before {
  content: "CONTACT";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.065);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(130px, 22vw, 410px);
  letter-spacing: -.07em;
  white-space: nowrap;
}

.contact-hero::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  opacity: .42;
  background-image: repeating-linear-gradient(100deg, transparent 0, transparent 5px, rgba(255,255,255,.015) 6px);
}

.contact-hero .eyebrow { margin-bottom: 30px; }

.contact-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(72px, 9vw, 150px);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.055em;
}

.contact-subtitle {
  margin: 32px 0 0;
  color: rgba(255,255,255,.7);
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.contact-scroll {
  position: absolute;
  bottom: 45px;
  display: inline-flex;
  align-items: center;
  gap: 30px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.34);
  color: rgba(255,255,255,.7);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.contact-hero-orbit {
  position: absolute;
  z-index: -1;
  width: min(80vw, 1200px);
  aspect-ratio: 2.55;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  transform: rotate(-7deg);
  box-shadow: 0 0 100px rgba(255,255,255,.025);
}

.contact-information { background: #efeee9; }

.contact-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 8vw;
  align-items: end;
}

.contact-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(55px, 7vw, 108px);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.05em;
}

.contact-heading > p {
  max-width: 570px;
  margin: 0 0 9px;
  color: #6a6a64;
  font-size: 18px;
  line-height: 1.75;
}

.contact-cards {
  margin-top: 90px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0,0,0,.18);
  border-bottom: 1px solid rgba(0,0,0,.18);
}

.contact-card {
  position: relative;
  min-width: 0;
  min-height: 310px;
  padding: 28px clamp(22px, 3vw, 48px) 38px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-right: 1px solid rgba(0,0,0,.18);
  transition: background 300ms ease, color 300ms ease;
}

.contact-card:first-child { padding-left: 0; }
.contact-card:last-child { padding-right: 0; border-right: 0; }
.contact-card:not(.contact-social-card):hover,
.contact-card:not(.contact-social-card):focus-visible { background: #111; color: white; padding-left: clamp(22px, 3vw, 48px); }

.contact-card-index {
  position: absolute;
  top: 28px;
  left: clamp(22px, 3vw, 48px);
  color: #878781;
  font-size: 10px;
  letter-spacing: .12em;
}

.contact-card:first-child .contact-card-index { left: 0; }
.contact-card:first-child:hover .contact-card-index,
.contact-card:first-child:focus-visible .contact-card-index { left: clamp(22px, 3vw, 48px); }

.contact-card > p {
  margin: 0 0 15px;
  color: #777771;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.contact-card > strong {
  overflow-wrap: anywhere;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 2.1vw, 31px);
  font-weight: 400;
  line-height: 1.12;
}

.contact-card > i {
  position: absolute;
  right: clamp(22px, 3vw, 48px);
  bottom: 35px;
  font-style: normal;
  font-size: 20px;
}

.contact-social-links { display: grid; }
.contact-social-links a { min-height: 54px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(0,0,0,.16); font-family: Georgia, "Times New Roman", serif; font-size: 22px; }
.contact-social-links a:first-child { border-top: 1px solid rgba(0,0,0,.16); }

.contact-spotlight {
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr);
  background: #080808;
  color: white;
}

.contact-spotlight-copy { padding: 90px 6vw; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.contact-spotlight-copy h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(50px, 5.8vw, 90px); font-weight: 400; line-height: .92; letter-spacing: -.05em; }
.contact-spotlight-copy > p:not(.eyebrow) { max-width: 540px; margin: 28px 0 30px; color: rgba(255,255,255,.56); font-size: 17px; line-height: 1.7; }
.contact-spotlight > img { width: 100%; height: 100%; min-height: 720px; object-fit: cover; }

.contact-ticker { display: grid; grid-template-columns: auto 1fr; overflow: hidden; background: #d6d6d3; border-top: 1px solid rgba(0,0,0,.16); border-bottom: 1px solid rgba(0,0,0,.16); }
.contact-ticker-label { position: relative; z-index: 2; padding: 0 30px; display: grid; place-items: center; background: #111; color: white; }
.contact-ticker-label span { font-size: 10px; letter-spacing: .15em; text-transform: uppercase; white-space: nowrap; }
.contact-ticker-viewport { overflow: hidden; }
.contact-ticker-track { width: max-content; min-height: 150px; display: flex; align-items: center; gap: 30px; padding-left: 30px; animation: contactTicker 190s linear infinite; }
.contact-review { width: min(520px, 72vw); white-space: normal; }
.contact-review p { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(18px, 1.55vw, 24px); line-height: 1.28; }
.contact-review strong { display: block; margin-top: 12px; font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.contact-ticker-track i { width: 4px; height: 4px; border-radius: 50%; background: #797973; }

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

/* Product route */
.product-page-hero {
  position: relative;
  isolation: isolate;
  min-height: calc(100vh - 112px);
  padding: 72px 5vw 0;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(540px, 1.12fr);
  grid-template-rows: 1fr auto;
  column-gap: 5vw;
  overflow: hidden;
  background: radial-gradient(circle at 9% 24%, rgba(255,255,255,.08), transparent 30%), linear-gradient(125deg, #151515, #050505 65%, #181818);
  color: white;
}

.product-page-hero::before {
  content: "01";
  position: absolute;
  z-index: -1;
  right: -1vw;
  bottom: -10vw;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.07);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36vw;
  line-height: .8;
}

.product-page-copy { align-self: center; padding: 35px 0 70px; }

.product-page-copy h1 {
  max-width: 920px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(62px, 7vw, 118px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.055em;
}

.product-page-copy > p:not(.eyebrow) {
  max-width: 620px;
  margin: 34px 0 30px;
  color: rgba(255,255,255,.6);
  font-size: 18px;
  line-height: 1.7;
}

.product-page-visual {
  position: relative;
  align-self: stretch;
  min-height: 640px;
  overflow: hidden;
  border-right: 1px solid rgba(255,255,255,.12);
  border-left: 1px solid rgba(255,255,255,.12);
}

.product-page-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.32), transparent 40%);
  pointer-events: none;
}

.product-page-visual img { width: 100%; height: 100%; object-fit: cover; }

.product-page-index {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  padding: 9px 12px;
  background: rgba(0,0,0,.68);
  color: rgba(255,255,255,.76);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.product-page-metrics {
  grid-column: 1 / -1;
  min-height: 116px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.15);
}

.product-page-metrics div {
  padding: 22px clamp(18px, 2.2vw, 36px);
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  gap: 3px;
  border-right: 1px solid rgba(255,255,255,.15);
}

.product-page-metrics div:last-child { border-right: 0; }
.product-page-metrics span { color: rgba(255,255,255,.42); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.product-page-metrics strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 2.7vw, 42px); font-weight: 400; }
.product-detail-section { background: #dededb; }
.product-gallery-stage { height: min(74vw, 820px); }
.product-points-compact li { padding: 12px 0; }

.product-story-banner {
  position: relative;
  min-height: 850px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  overflow: hidden;
  background: #090909;
  color: white;
}

.product-story-banner > img,
.product-story-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.product-story-banner > img { object-fit: cover; object-position: center 42%; }
.product-story-overlay { background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.5) 52%, rgba(0,0,0,.08)), linear-gradient(0deg, rgba(0,0,0,.72), transparent 56%); }

.product-story-copy { position: relative; z-index: 2; max-width: 1000px; padding: 90px 6vw; }
.product-story-copy h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(58px, 8vw, 126px); font-weight: 400; line-height: .86; letter-spacing: -.055em; }
.product-story-copy > p:not(.eyebrow) { max-width: 600px; margin: 32px 0 30px; color: rgba(255,255,255,.62); font-size: 17px; line-height: 1.75; }

.product-story-specs {
  position: relative;
  z-index: 2;
  min-width: 280px;
  margin: 0 6vw 90px 0;
  border-top: 1px solid rgba(255,255,255,.22);
}

.product-story-specs div { padding: 20px 0; display: grid; grid-template-columns: 80px 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.22); }
.product-story-specs strong { font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 400; }
.product-story-specs span { color: rgba(255,255,255,.54); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

.reviews { background: #efeee9; }
.reviews-layout { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(520px, 1.25fr); gap: 9vw; align-items: start; }
.reviews-intro h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(49px, 6vw, 92px); font-weight: 400; line-height: .92; letter-spacing: -.045em; }
.reviews-intro > p:last-child { max-width: 440px; margin: 28px 0 0; color: #6b6b65; font-size: 17px; line-height: 1.7; }

.review-empty {
  min-height: 420px;
  padding: clamp(34px, 5vw, 74px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border: 1px solid rgba(0,0,0,.15);
  background: #e3e2dd;
}

.review-stars { margin-bottom: 44px; color: #8a8a84; font-family: Georgia, "Times New Roman", serif; font-size: 25px; letter-spacing: .18em; }
.review-empty > span { color: #7a7a74; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.review-empty h3 { max-width: 650px; margin: 13px 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.4vw, 50px); font-weight: 400; line-height: 1.06; }
.review-empty p { max-width: 620px; margin: 0 0 28px; color: #696963; line-height: 1.7; }

/* Slide-out cart */
.cart-backdrop {
  position: fixed;
  z-index: 90;
  inset: 0;
  background: rgba(0,0,0,.65);
  opacity: 0;
  backdrop-filter: blur(5px);
  transition: opacity 320ms ease;
}

.cart-backdrop.visible { opacity: 1; }
.cart-drawer { position: fixed; z-index: 91; top: 0; right: 0; width: min(92vw, 500px); height: 100dvh; padding: 32px; display: flex; flex-direction: column; overflow-y: auto; transform: translateX(105%); background: #efeee9; color: #111; box-shadow: -30px 0 90px rgba(0,0,0,.35); transition: transform 420ms var(--ease); }
.cart-drawer.open { transform: translateX(0); }
.cart-head { padding-bottom: 24px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid rgba(0,0,0,.16); }
.cart-head p { margin: 0 0 3px; color: #777771; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.cart-head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 43px; font-weight: 400; line-height: 1; }
.cart-close { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(0,0,0,.2); border-radius: 50%; color: #222; font-size: 28px; line-height: 1; }
.cart-empty { flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.cart-empty > span { color: #7b7b75; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.cart-empty h3 { margin: 14px 0 9px; font-family: Georgia, "Times New Roman", serif; font-size: 39px; font-weight: 400; line-height: 1.02; }
.cart-empty p { max-width: 370px; margin: 0 0 26px; color: #6b6b65; line-height: 1.7; }
.cart-filled { padding-top: 28px; }
.cart-product { padding-bottom: 24px; display: grid; grid-template-columns: 115px 1fr; gap: 18px; border-bottom: 1px solid rgba(0,0,0,.14); }
.cart-product img { width: 115px; height: 145px; object-fit: cover; background: #ddd; }
.cart-product p { margin: 0 0 8px; color: #777771; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.cart-product h3 { margin: 0 0 10px; font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 400; line-height: 1.13; }
.cart-product span { color: #777771; font-size: 12px; }
.quantity-row, .cart-summary { padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(0,0,0,.14); }
.quantity-row > span, .cart-summary > span { color: #6f6f69; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.quantity-control { min-height: 38px; display: grid; grid-template-columns: 38px 42px 38px; align-items: center; border: 1px solid rgba(0,0,0,.23); }
.quantity-control button { height: 100%; color: #222; font-size: 19px; }
.quantity-control strong { text-align: center; font-size: 13px; }
.cart-summary strong { font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 400; }
.cart-note { margin: 18px 0 24px; color: #71716b; font-size: 12px; line-height: 1.65; }
.remove-item { margin: 18px auto 0; display: block; padding-bottom: 4px; border-bottom: 1px solid #777; color: #666; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }

.launch-dialog {
  width: min(92vw, 650px);
  padding: 58px;
  border: 0;
  background: #ededeb;
  color: #151515;
  box-shadow: 0 40px 120px rgba(0,0,0,.65);
}

.launch-dialog::backdrop {
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(7px);
}

.dialog-close {
  position: absolute;
  top: 20px;
  right: 24px;
  color: #333;
  font-size: 30px;
  line-height: 1;
}

.dialog-mark {
  position: absolute;
  top: 0;
  right: 60px;
  color: rgba(0,0,0,.05);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 220px;
  line-height: 1;
}

.launch-dialog h2 {
  position: relative;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 6vw, 72px);
  font-weight: 400;
  letter-spacing: -.045em;
}

.launch-dialog > p:not(.eyebrow) {
  position: relative;
  max-width: 480px;
  margin: 18px 0 32px;
  color: #696963;
  line-height: 1.7;
}

.launch-dialog label {
  display: block;
  margin-bottom: 9px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr auto;
}

.form-row input {
  width: 100%;
  min-height: 54px;
  padding: 0 15px;
  border: 1px solid #aaa;
  border-right: 0;
  border-radius: 0;
  background: white;
  color: #111;
  outline: 0;
}

.form-row input:focus { border-color: #111; box-shadow: inset 0 0 0 1px #111; }

.form-note {
  margin: 10px 0 0;
  color: #81817b;
  font-size: 11px;
}

.form-success {
  position: relative;
  padding: 32px;
  background: white;
}

.form-success span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: #111;
  color: white;
}

.form-success h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 400;
}

.form-success p { margin: 7px 0 0; color: #6d6d67; }

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 800ms var(--ease), transform 800ms var(--ease);
}

.reveal-delay { transition-delay: 100ms; }
.reveal-delay-2 { transition-delay: 180ms; }
.reveal.visible { opacity: 1; transform: translateY(0); }

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

@media (max-width: 1180px) {
  .desktop-nav { gap: 20px; }
  .hero {
    grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
    gap: 3vw;
  }
  .floating-card-top { left: -4%; }
  .floating-card-bottom { right: -3%; }
  .product-layout { gap: 50px; }
  .product-page-hero { grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr); gap: 3vw; }
}

@media (max-width: 960px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .menu-button { display: flex; }
  .text-button { display: none; }

  .hero {
    min-height: auto;
    padding-top: 86px;
    grid-template-columns: 1fr;
    gap: 74px;
  }
  .hero-copy { max-width: 760px; }
  .hero-visual { width: min(90%, 650px); justify-self: center; }
  .hero-frame { width: 75%; }
  .hero-glow { top: auto; bottom: -12%; }

  .statement-grid,
  .engineering-head,
  .faq-layout { grid-template-columns: 1fr; gap: 40px; }
  .statement-copy,
  .engineering-head > p { max-width: 620px; }

  .feature-grid { grid-template-columns: 1fr; }
  .feature-card,
  .feature-card:first-child,
  .feature-card:last-child {
    min-height: 300px;
    padding: 28px 0 35px;
    border-right: 0;
    border-bottom: 1px solid var(--soft-line);
  }
  .feature-card:last-child { border-bottom: 0; }
  .feature-glyph { margin: 40px 0 30px; }

  .product-layout { grid-template-columns: 1fr; }
  .gallery-stage { height: min(105vw, 760px); }
  .product-panel { position: static; }

  .engineering-grid { grid-template-columns: .8fr 1.2fr; gap: 35px; }
  .lifestyle-banner { min-height: 680px; }

  .footer-main { grid-template-columns: 1fr; gap: 60px; }

  .product-page-hero {
    min-height: auto;
    padding: 72px 5vw 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto 700px auto;
    gap: 0;
  }
  .product-page-copy { max-width: 800px; padding-bottom: 70px; }
  .product-page-visual { min-height: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .product-page-metrics { grid-column: 1; }
  .product-story-banner { grid-template-columns: 1fr; }
  .product-story-copy { padding-bottom: 45px; }
  .product-story-specs { width: auto; margin: 0 6vw 70px; }
  .reviews-layout { grid-template-columns: 1fr; gap: 50px; }

  .contact-heading { grid-template-columns: 1fr; gap: 38px; }
  .contact-heading > p { max-width: 650px; }
  .contact-cards { grid-template-columns: 1fr; }
  .contact-card,
  .contact-card:first-child,
  .contact-card:last-child { min-height: 230px; padding: 28px 30px 34px; border-right: 0; border-bottom: 1px solid rgba(0,0,0,.18); }
  .contact-card:last-child { border-bottom: 0; }
  .contact-card-index,
  .contact-card:first-child .contact-card-index { left: 30px; }
  .contact-spotlight { grid-template-columns: 1fr; }
  .contact-spotlight > img { min-height: 650px; order: -1; }
  .contact-ticker { grid-template-columns: 1fr; }
  .contact-ticker-label { min-height: 42px; }
}

@media (max-width: 680px) {
  .announcement-track { animation-duration: 19s; }
  .site-header { height: 70px; padding: 0 20px; }
  .brand { width: 132px; }
  .brand img { width: 128px; }
  .mobile-menu { inset: 104px 0 0; padding: 35px 20px; }

  .hero {
    padding: 62px 20px 55px;
    gap: 58px;
  }
  .hero h1 { font-size: clamp(62px, 22vw, 96px); }
  .hero-intro { margin-top: 28px; font-size: 16px; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; justify-content: space-between; }
  .hero-proof { margin-top: 48px; }
  .hero-proof strong { font-size: 24px; }
  .hero-proof span { font-size: 9px; }

  .hero-visual { width: 100%; }
  .hero-frame { width: 82%; }
  .metal-orbit { inset: 6% -14% 4%; }
  .floating-card { min-width: 138px; padding: 12px; }
  .floating-card strong { font-size: 14px; }
  .floating-card-top { left: -1%; top: 16%; }
  .floating-card-bottom { right: -2%; bottom: 9%; }
  .frame-note { display: none; }

  .section-pad { padding: 80px 20px; }
  .section-label { margin-bottom: 50px; }
  .statement h2,
  .engineering h2 { font-size: clamp(45px, 14vw, 68px); }
  .statement-copy p,
  .engineering-head > p { font-size: 16px; }
  .feature-grid { margin-top: 65px; }

  .gallery-stage { height: 128vw; }
  .gallery-thumbs { gap: 7px; }
  .thumb { height: 75px; }
  .product-panel h2 { font-size: 42px; }
  .product-status { gap: 16px; }
  .product-status strong { font-size: 14px; }

  .engineering-grid { grid-template-columns: 1fr; margin-top: 58px; }
  .engineering-image,
  .engineering-image img { min-height: 480px; }
  .spec-row { min-height: 86px; }
  .spec-row strong { font-size: 46px; }

  .lifestyle-banner { min-height: 650px; }
  .lifestyle-banner > img { object-position: 56% center; }
  .lifestyle-overlay { background: linear-gradient(0deg, rgba(0,0,0,.88), rgba(0,0,0,.08) 75%); }
  .lifestyle-copy { padding: 60px 20px; }
  .lifestyle-copy h2 { font-size: 48px; }

  .faq-layout { gap: 28px; }
  .faq-list summary { min-height: 82px; font-size: 18px; }
  .faq-list details p { margin-right: 20px; }

  .launch-cta { min-height: 620px; }
  .launch-cta h2 { font-size: 58px; }
  .launch-cta > p:not(.eyebrow) { max-width: 330px; }

  footer { padding: 60px 20px 22px; }
  .footer-links { grid-template-columns: 1fr 1fr; row-gap: 45px; }
  .footer-bottom { flex-direction: column; }

  .launch-dialog { padding: 48px 22px 28px; }
  .form-row { grid-template-columns: 1fr; gap: 8px; }
  .form-row input { border-right: 1px solid #aaa; }
  .form-row .button { width: 100%; justify-content: space-between; }

  .header-actions { gap: 13px; }
  .cart-button { font-size: 10px; }
  .product-page-hero { padding: 58px 20px 0; grid-template-rows: auto 530px auto; }
  .product-page-copy { padding: 10px 0 54px; }
  .product-page-copy h1 { font-size: clamp(54px, 16vw, 76px); }
  .product-page-copy > p:not(.eyebrow) { margin-top: 26px; font-size: 16px; }
  .product-page-metrics { grid-template-columns: repeat(2, 1fr); }
  .product-page-metrics div { min-height: 95px; border-bottom: 1px solid rgba(255,255,255,.15); }
  .product-page-metrics div:nth-child(2) { border-right: 0; }
  .product-gallery-stage { height: 128vw; }
  .product-story-banner { min-height: 780px; }
  .product-story-overlay { background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.12) 82%); }
  .product-story-copy { padding: 60px 20px 35px; }
  .product-story-copy h2 { font-size: 58px; }
  .product-story-specs { margin: 0 20px 55px; }
  .review-empty { min-height: 380px; }
  .cart-drawer { width: 100%; padding: 24px 20px; }
  .cart-product { grid-template-columns: 98px 1fr; gap: 14px; }
  .cart-product img { width: 98px; height: 128px; }
  .cart-product h3 { font-size: 19px; }

  .contact-hero { min-height: 650px; padding: 90px 20px 75px; }
  .contact-hero h1 { font-size: clamp(61px, 20vw, 88px); }
  .contact-subtitle { margin-top: 27px; }
  .contact-scroll { bottom: 30px; }
  .contact-heading h2 { font-size: 52px; }
  .contact-heading > p { font-size: 16px; }
  .contact-cards { margin-top: 60px; }
  .contact-card,
  .contact-card:first-child,
  .contact-card:last-child { min-height: 205px; padding: 25px 20px 28px; }
  .contact-card-index,
  .contact-card:first-child .contact-card-index { left: 20px; }
  .contact-card:not(.contact-social-card):hover,
  .contact-card:not(.contact-social-card):focus-visible { padding-left: 20px; }
  .contact-card:first-child:hover .contact-card-index,
  .contact-card:first-child:focus-visible .contact-card-index { left: 20px; }
  .contact-card > i { right: 20px; bottom: 28px; }
  .contact-social-links a { font-size: 20px; }
  .contact-spotlight { min-height: 0; }
  .contact-spotlight > img { min-height: 480px; }
  .contact-spotlight-copy { padding: 65px 20px; }
  .contact-spotlight-copy h2 { font-size: 54px; }
  .contact-ticker-track { min-height: 150px; animation-duration: 170s; }
  .contact-review { width: min(430px, 78vw); }
}

/* —— Products shop page —— */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.shop-hero {
  position: relative;
  isolation: isolate;
  min-height: min(92vh, 880px);
  display: grid;
  align-items: end;
  overflow: hidden;
  color: #fff;
  background: #080808;
}

.shop-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.shop-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  transform: scale(1.04);
  animation: shopHeroDrift 18s var(--ease) infinite alternate;
}

@keyframes shopHeroDrift {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to { transform: scale(1.08) translate3d(-1.2%, -0.8%, 0); }
}

.shop-hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(105deg, rgba(5, 5, 5, 0.92) 0%, rgba(5, 5, 5, 0.55) 48%, rgba(5, 5, 5, 0.2) 100%),
    linear-gradient(0deg, rgba(5, 5, 5, 0.75) 0%, transparent 45%);
}

.shop-hero-content {
  position: relative;
  z-index: 2;
  width: min(720px, calc(100% - 10vw));
  margin: 0 0 10vh 5vw;
  padding-top: 140px;
}

.shop-brand-mark {
  margin: 0 0 18px;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 700;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: #e8e6df;
}

.shop-hero-content h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(56px, 8vw, 120px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.05em;
}

.shop-hero-lead {
  max-width: 34ch;
  margin: 22px 0 28px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 17px;
  line-height: 1.7;
}

.shop-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
}

.shop-hero-link {
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  padding-bottom: 4px;
  transition: color 0.2s var(--ease), border-color 0.2s var(--ease);
}

.shop-hero-link:hover,
.shop-hero-link:focus-visible {
  color: #fff;
  border-color: #fff;
}

.shop-hero-rail {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(12px);
}

.shop-hero-rail span {
  padding: 16px 5vw;
  color: rgba(255, 255, 255, 0.55);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.shop-hero-rail span:last-child {
  border-right: 0;
}

.shop-section {
  background: #dededb;
  padding: clamp(56px, 8vw, 100px) 5vw;
}

.home-shop {
  background: #dededb;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.home-shop .shop-section-head h2 {
  font-size: clamp(42px, 6vw, 78px);
}

.home-shop-foot {
  margin-top: clamp(28px, 4vw, 44px);
  padding-top: clamp(22px, 3vw, 30px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.home-shop-foot p {
  margin: 0;
  max-width: 42ch;
  color: #6f6f69;
  font-size: 15px;
  line-height: 1.6;
}

.home-shop-foot .button {
  width: auto;
  min-width: 220px;
}

.shop-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: clamp(32px, 5vw, 52px);
}

.shop-section-head h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 5.5vw, 72px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1;
}

.shop-toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.shop-count {
  margin: 0;
  color: #6f6f69;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.shop-toolbar select {
  appearance: none;
  background: #efeee9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  border: 1px solid rgba(0, 0, 0, 0.18);
  padding: 12px 40px 12px 14px;
  color: #111;
  font-size: 12px;
  letter-spacing: 0.04em;
  min-width: 190px;
}

.shop-grid-switch {
  display: inline-flex;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: #efeee9;
}

.shop-grid-btn {
  min-width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: #6f6f69;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: background 0.2s var(--ease), color 0.2s var(--ease);
}

.shop-grid-btn + .shop-grid-btn {
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.shop-grid-btn.is-active,
.shop-grid-btn[aria-pressed="true"] {
  background: #111;
  color: #fff;
}

.shop-grid {
  display: grid;
  gap: clamp(18px, 2.4vw, 28px);
  align-items: stretch;
}

/* Default / toggle: 2×2 style */
.shop-grid.shop-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Default / toggle: 3×3 style */
.shop-grid.shop-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shop-grid.shop-grid-single {
  grid-template-columns: minmax(0, 420px);
  justify-content: start;
}

.shop-card {
  display: flex;
  flex-direction: column;
  background: #efeee9;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
  min-width: 0;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s var(--ease);
  animation: shopCardIn 0.55s var(--ease) both;
}

.shop-card:nth-child(2) { animation-delay: 0.05s; }
.shop-card:nth-child(3) { animation-delay: 0.1s; }
.shop-card:nth-child(4) { animation-delay: 0.15s; }
.shop-card:nth-child(5) { animation-delay: 0.2s; }
.shop-card:nth-child(6) { animation-delay: 0.25s; }

@keyframes shopCardIn {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

.shop-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow: 0 28px 55px rgba(0, 0, 0, 0.14);
}

.shop-card-media {
  position: relative;
  height: 180px;
  overflow: hidden;
  background: linear-gradient(145deg, #d4d3cf, #bdbcb7);
}

.shop-grid-2 .shop-card-media {
  height: 210px;
}

.shop-grid-3 .shop-card-media {
  height: 170px;
}

.home-shop .shop-card-media {
  height: 160px;
}

@media (max-width: 640px) {
  .shop-card-media,
  .shop-grid-2 .shop-card-media,
  .shop-grid-3 .shop-card-media,
  .home-shop .shop-card-media {
    height: 200px;
  }
}

.shop-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease);
}

.shop-card:hover .shop-card-media img {
  transform: scale(1.05);
}

.shop-card-chip {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 7px 10px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #222;
}

.shop-card-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 18px 18px;
  flex: 1;
}

.shop-grid-2 .shop-card-body {
  padding: 24px 22px 20px;
  gap: 12px;
}

.shop-card-series {
  margin: 0;
  color: #6f6f69;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.shop-card-body h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.7vw, 28px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.03em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.3em;
}

.shop-grid-2 .shop-card-body h3 {
  font-size: clamp(24px, 2.2vw, 34px);
  min-height: 2.2em;
}

.shop-card-desc {
  margin: 0;
  color: #686862;
  font-size: 13.5px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.shop-grid-2 .shop-card-desc {
  font-size: 15px;
  -webkit-line-clamp: 3;
}

.shop-card-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.shop-card-meta span {
  display: block;
  color: #777770;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.shop-card-meta strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 400;
}

.shop-grid-2 .shop-card-meta strong {
  font-size: 18px;
}

.shop-card .button {
  min-height: 48px;
  font-size: 12px;
}

.shop-grid-2 .shop-card .button {
  min-height: 52px;
}

.shop-card-meta strong i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: #71856c;
}

.shop-card-meta strong.is-out i {
  background: #9a6a6a;
}

.shop-card .button:disabled,
.shop-card .button[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

.shop-empty {
  grid-column: 1 / -1;
  padding: 72px 28px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(239, 238, 233, 0.7);
}

.shop-empty h3 {
  margin: 0 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
  font-weight: 400;
}

.shop-empty p {
  margin: 0 auto;
  max-width: 38ch;
  color: #686862;
}

.shop-section-alt {
  background: #efeee9;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.shop-section-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.35);
  color: #222;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: border-color 0.2s var(--ease);
}

.shop-section-link:hover,
.shop-section-link:focus-visible {
  border-color: #000;
}

.shop-feature-grid .shop-feature-card {
  background: #dededb;
}

.shop-feature-meta {
  margin-top: auto;
}

.shop-promise {
  background: #111;
  color: #fff;
  padding: clamp(40px, 6vw, 72px) 5vw;
}

.shop-promise-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 32px);
}

.shop-promise-item {
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent);
  min-height: 180px;
  transition: border-color 0.25s var(--ease), transform 0.25s var(--ease);
}

.shop-promise-item:hover {
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(-3px);
}

.shop-promise-item strong {
  display: block;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.4);
  font-size: 11px;
  letter-spacing: 0.16em;
}

.shop-promise-item h3 {
  margin: 0 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 400;
  letter-spacing: -0.02em;
}

.shop-promise-item p {
  margin: 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
  line-height: 1.65;
  max-width: 28ch;
}

.shop-reviews {
  background: #dededb;
  padding: clamp(56px, 8vw, 96px) 5vw;
}

.shop-reviews-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 6vw, 80px);
  align-items: center;
}

.shop-reviews-copy h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 5.5vw, 72px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.shop-reviews-copy > p:last-child {
  margin: 20px 0 0;
  max-width: 34ch;
  color: #686862;
  font-size: 16px;
  line-height: 1.7;
}

.shop-reviews-card {
  padding: clamp(28px, 4vw, 48px);
  background: #efeee9;
  border: 1px solid rgba(0, 0, 0, 0.1);
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.shop-reviews-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.1);
}

.shop-reviews-card .review-stars {
  margin-bottom: 28px;
}

.shop-reviews-card > span {
  color: #7a7a74;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.shop-reviews-card h3 {
  max-width: 18ch;
  margin: 12px 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 400;
  line-height: 1.08;
}

.shop-reviews-card p {
  max-width: 42ch;
  margin: 0 0 24px;
  color: #696963;
  line-height: 1.65;
}

.shop-bottom-cta {
  position: relative;
  isolation: isolate;
  min-height: 520px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background: #080808;
  text-align: center;
}

.shop-bottom-cta-bg,
.shop-bottom-cta-veil {
  position: absolute;
  inset: 0;
}

.shop-bottom-cta-bg {
  z-index: 0;
}

.shop-bottom-cta-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
}

.shop-bottom-cta-veil {
  z-index: 1;
  background:
    linear-gradient(0deg, rgba(5, 5, 5, 0.82), rgba(5, 5, 5, 0.45) 55%, rgba(5, 5, 5, 0.7));
}

.shop-bottom-cta-content {
  position: relative;
  z-index: 2;
  padding: 72px 5vw;
  max-width: 820px;
}

.shop-bottom-cta-content h2 {
  margin: 0 0 28px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6vw, 78px);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.shop-bottom-cta-content .shop-hero-actions {
  justify-content: center;
}

.shop-bottom-cta-content .shop-hero-link {
  background: none;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 0;
  padding: 0 0 4px;
  cursor: pointer;
}

@media (max-width: 1100px) {
  .shop-grid.shop-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .shop-grid.shop-grid-2,
  .shop-grid.shop-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-promise-grid {
    grid-template-columns: 1fr;
  }

  .shop-reviews-inner {
    grid-template-columns: 1fr;
  }

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

  .shop-hero-rail span {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 12px 5vw;
  }

  .shop-hero-content {
    margin-bottom: 28vh;
  }
}

@media (max-width: 640px) {
  .shop-grid.shop-grid-2,
  .shop-grid.shop-grid-3,
  .shop-grid.shop-grid-single {
    grid-template-columns: 1fr;
    justify-content: stretch;
    max-width: none;
  }

  .shop-grid-switch {
    order: 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shop-hero-bg img,
  .shop-card,
  .shop-card-media img,
  .shop-bottom-cta-bg img {
    animation: none !important;
    transition: none !important;
  }
}
