.logo {
  align-items: flex-start;
  width: max-content;
}

.logo img {
  width: 126px;
  height: 49px;
  object-fit: contain;
  object-position: left center;
}

.logo small {
  margin-top: 1px;
  letter-spacing: 2.1px;
}

footer .logo img {
  width: 102px;
  height: 40px;
}

.hero-visual {
  perspective: 1400px;
}

.bottle-stage {
  width: 100%;
  height: 590px;
  position: relative;
  z-index: 1;
  transform-style: preserve-3d;
  will-change: transform;
}

.hero-bottle.bottle-face {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  filter: drop-shadow(22px 28px 24px rgba(23,25,27,.13));
  backface-visibility: hidden;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}

.bottle-front {
  transform: rotateY(0deg) rotateZ(5deg) scale(.98);
  opacity: 1;
}

.bottle-back {
  transform: rotateY(-90deg) rotateZ(5deg) scale(.98);
  opacity: 0;
}

.product-image {
  background: #e9ecee;
}

.product-image img {
  width: 100%;
  height: 580px;
  padding: 28px 10px 18px;
  object-fit: contain;
  transform: rotate(-4deg) scale(1.04);
  filter: drop-shadow(18px 24px 20px rgba(23,25,27,.12));
}

.product-image .vertical,
.product-image .image-note {
  color: #646b71;
}

@media (max-width: 900px) {
  .bottle-stage { height: 490px; }
  .product-image img { height: 480px; }
}

@media (max-width: 620px) {
  .logo img { width: 100px; height: 39px; }
  .logo small { font-size: 7px; letter-spacing: 1.5px; }
  .bottle-stage { height: 380px; }
  .hero-bottle.bottle-face { height: 380px; }
  .product-image img { height: 430px; }
}

@media (prefers-reduced-motion: reduce) {
  .bottle-front { transform: rotateZ(3deg) scale(.98) !important; opacity: 1 !important; }
  .bottle-back { display: none; }
}

/* Textured 3D bottle preserves the existing footprint and tilt. */
.bottle-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: none;
  transform: rotateZ(5deg) scale(.98);
  filter: drop-shadow(22px 28px 24px rgba(23,25,27,.13));
  pointer-events: none;
}
.has-3d .bottle-canvas { display: block; }
.has-3d .bottle-face { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .bottle-canvas { display: none !important; }
  .has-3d .bottle-face { visibility: visible; }
}

.buy-button { border: 0; cursor: pointer; margin-top: 18px; min-width: 190px; justify-content: space-between; }
.purchase-dialog { border: 1px solid var(--line); border-radius: 6px; padding: 36px; width: min(440px, calc(100% - 32px)); color: var(--ink); background: var(--paper); }
.purchase-dialog::backdrop { background: rgba(23,25,27,.55); }
.purchase-dialog h2 { font-size: 42px; margin-bottom: 20px; }
.purchase-dialog p { color: var(--muted); }
.purchase-dialog button { border: 0; cursor: pointer; }
