html.notify-open { overflow: hidden; overscroll-behavior: none; }
.notify-button { position: relative; isolation: isolate; cursor: pointer; }
[data-notify-open]:focus-visible, [data-fast-cta]:focus-visible, .product-slider:focus-visible {
  outline: 1px solid #f0d3a5; outline-offset: 5px;
}
.text-link[data-fast-cta] { overflow: hidden; }
[data-notify-open], .availability-form button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgb(185 149 98 / 35%);
}
[data-fast-cta] { isolation: isolate; overflow: hidden; border-color: rgb(185 149 98 / 35%); }
[data-notify-open]::before, [data-fast-cta]::before, .availability-form button::before {
  content: ''; position: absolute; z-index: 0; inset: 0;
  border-radius: inherit; pointer-events: none;
  opacity: .18;
  background:
    radial-gradient(ellipse 78% 145% at 4% 50%, rgb(238 229 215 / 8%) 0%, transparent 76%),
    radial-gradient(ellipse 70% 140% at 96% 50%, rgb(185 149 98 / 7%) 0%, transparent 78%);
  background-size: 150% 150%, 150% 150%;
  background-position: 0% 50%, 100% 50%;
  filter: blur(8px);
  animation: diffuse-glass-reflection 28s ease-in-out infinite alternate;
  animation-play-state: paused;
  transition: opacity 450ms ease;
}
.text-link[data-fast-cta] > *, .notify-button > *, .availability-form button > * { position: relative; z-index: 1; }
@media (hover: hover) {
  [data-notify-open]:hover::before, [data-fast-cta]:hover::before, .availability-form:hover button::before { opacity: .26; }
}
.edge-active::before, .availability-form button.edge-active::before { animation-play-state: running; }
.edge-paused [data-notify-open]::before, .edge-paused [data-fast-cta]::before, .edge-paused .availability-form button::before,
.scene:not(.is-active) [data-notify-open]::before, .scene:not(.is-active) [data-fast-cta]::before,
.scene:not(.is-active) .availability-form button::before, .scene-exit [data-notify-open]::before,
.scene-exit [data-fast-cta]::before { animation-play-state: paused; }
@keyframes diffuse-glass-reflection {
  from { background-position: 0% 50%, 100% 50%; }
  to { background-position: 30% 50%, 70% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  [data-notify-open]::before, [data-fast-cta]::before, .availability-form button::before { animation: none; }
}
.notify-cta .notify-button { border-color: rgb(185 149 98 / 35%); }
.notify-button .button-arrow { margin-left: 1rem; color: #e9d3ad; }
.product-thumbnail { cursor: pointer; }
.notify-sheet { overscroll-behavior: contain; touch-action: pan-y; }
.notify-sheet[open].is-open { transform: translateY(var(--sheet-drag-y, 0px)); }
.notify-sheet::backdrop { transition: background-color 450ms ease, backdrop-filter 450ms ease; }
.notify-sheet:not(.is-open)::backdrop { background: transparent; backdrop-filter: blur(0); }
.notify-sheet.is-open::backdrop { background: rgb(0 0 0 / 58%); backdrop-filter: blur(6px); }
.sheet-drag { display: grid; place-items: center; width: 6rem; height: 1.75rem; margin: 0 auto .75rem; background: transparent; touch-action: none; cursor: grab; }
.sheet-drag::before { content: ''; width: 3rem; height: 4px; border-radius: 99px; background: var(--gold); }
.sheet-drag:active { cursor: grabbing; }
.notify-sheet.is-dragging { transition: none; }
.notify-sheet.is-dragging::backdrop { transition: none; background: rgb(0 0 0 / var(--sheet-shade, 58%)); }
.sheet-close { cursor: pointer; }
.sheet-panel { padding-bottom: max(2rem, env(safe-area-inset-bottom)); }
.sheet-panel h2 { font-size: clamp(1.8rem, 7.6vw, 2.7rem); }
.notify-form input { font-size: 16px; border: 1px solid rgb(185 149 98 / 45%); border-radius: 1rem; padding: .9rem 1rem; background: rgb(255 255 255 / 2%); }
.notify-form button:disabled { opacity: 1; background: linear-gradient(115deg, #ddbf8c, #b99662); }
.notify-form input:focus-visible { outline: none; border-color: #e4c18d; box-shadow: 0 0 0 3px rgb(185 149 98 / 12%); }
@media (max-width: 767px) {
  .product-slider { touch-action: pan-x pan-y; }
  .product-slide:not([data-front]) {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
  }
  .notify-cta { opacity: 0; transition: opacity 650ms ease, transform 650ms cubic-bezier(.22,1,.36,1); transform: translateY(12px); }
  .scene-product.is-settled .notify-cta { opacity: 1; transform: translateY(0); }
  .product-slide[data-slide="1"] img { transform: scale(.88); transform-origin: 50% 50%; }
  .product-slide[data-details] img {
    position: absolute; top: 49%; left: 50%; width: min(87vw, 49svh); height: min(87vw, 49svh);
    padding: 0; transform: translate(-50%, -50%); object-fit: contain;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(transparent, #000 5%, #000 95%, transparent);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }
  .product-slider.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
  .product-slider img { -webkit-user-drag: none; user-select: none; }
  .product-slider-dot { cursor: pointer; }
}
@media (prefers-reduced-motion: reduce) {
  .notify-sheet, .notify-sheet::backdrop { transition: none; }
}
/* Waitlist information and security check stay in the normal form flow. */
.waitlist-consent, .waitlist-status { margin: 0; color: #d3c4ae; font-size: .68rem; line-height: 1.5; letter-spacing: .02em; }
.waitlist-consent { text-align: center; }
.waitlist-consent a { color: #f0d3a5; text-decoration: underline; text-underline-offset: .18em; }
.waitlist-widget { display: flex; justify-content: center; }
.waitlist-status:empty { display: none; }
.availability-form .waitlist-consent, .availability-form .waitlist-widget, .availability-form .waitlist-status { grid-column: 1 / -1; }
.availability-form { row-gap: .45rem; }
.availability-form button:not(:disabled), .notify-form button:not(:disabled) { cursor: pointer; }
.availability-form button:disabled, .notify-form button:disabled { cursor: wait; opacity: .7; }
.waitlist-consent a:focus-visible, .availability-form button:focus-visible, .notify-form button:focus-visible { outline: 2px solid #f0d3a5; outline-offset: 3px; }
.noscript-note { position: fixed; z-index: 100; top: 0; left: 0; right: 0; margin: 0; padding: .75rem; background: #241b12; color: #eee5d7; text-align: center; }
.waitlist-widget iframe { display: block; }
/* Keep the field surface consistent, including saved-address autofill. */
.scene-product .email-input-shell input { background: transparent; }
.notify-form input { background: #080706; }
.scene-product .email-input-shell input:-webkit-autofill, .notify-form input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #080706 inset; -webkit-text-fill-color: #eee5d7;
}
.scene-product .email-input-shell input:-moz-autofill, .notify-form input:-moz-autofill {
  box-shadow: 0 0 0 1000px #080706 inset; color: #eee5d7;
}
.waitlist-status:focus { outline: none; }
[data-waitlist].is-success > :not(.waitlist-status) { display: none; }
[data-waitlist].is-success { display: block; }
[data-waitlist].is-success .waitlist-status {
  display: grid; justify-items: center; gap: .8rem; padding: 1.65rem 1rem;
  border: 1px solid rgb(185 149 98 / 45%); background: rgb(8 7 6 / 72%);
  color: #eee5d7; text-align: center;
}
[data-waitlist].is-success .waitlist-status::before {
  content: '✓'; display: grid; place-items: center; width: 2.5rem; height: 2.5rem;
  border: 1px solid #c6a36f; border-radius: 50%; color: #e4c18d; font-size: 1.25rem;
}
.waitlist-success-title { color: #eee5d7; font-family: Georgia, serif; font-size: clamp(1.35rem, 2vw, 1.8rem); letter-spacing: .04em; }
.waitlist-success-detail { color: #d3c4ae; font-size: .72rem; line-height: 1.5; }
.sheet-panel.has-success h2, .sheet-panel.has-success .sheet-copy { display: none; }
.sheet-panel.has-success .notify-form { margin-top: 1.5rem; }
.scene-product .email-input-shell input:focus-visible { outline: none; }
/* A shadow outside the glass surface makes the CTA easier to find. */
.text-link[data-fast-cta], [data-notify-open], .availability-form button { overflow: visible; }
.text-link[data-fast-cta]::before { clip-path: inset(0); }
[data-notify-open]::before, .availability-form button::before { clip-path: inset(0 round 999px); }
.text-link[data-fast-cta]::after, [data-notify-open]::after, .availability-form button::after {
  content: ''; position: absolute; z-index: -1; inset: 0; border-radius: inherit;
  pointer-events: none; box-shadow: 0 0 18px 4px rgb(185 149 98 / 35%);
  opacity: .55; animation: cta-halo-breathe 6s ease-in-out infinite alternate;
  animation-play-state: paused; transition: opacity 350ms ease;
}
.text-link[data-fast-cta].edge-active::after, [data-notify-open].edge-active::after,
.availability-form button.edge-active::after { animation-play-state: running; }
.edge-paused .text-link[data-fast-cta]::after, .edge-paused [data-notify-open]::after,
.edge-paused .availability-form button::after, .scene:not(.is-active) [data-fast-cta]::after,
.scene:not(.is-active) [data-notify-open]::after, .scene:not(.is-active) .availability-form button::after { animation-play-state: paused; }
@keyframes cta-halo-breathe { from { opacity: .45; } to { opacity: .7; } }
@media (hover: hover) {
  .text-link[data-fast-cta]:hover::after, [data-notify-open]:hover::after, .availability-form button:hover::after { animation: none; opacity: .9; }
}
.text-link[data-fast-cta]:focus-visible::after, [data-notify-open]:focus-visible::after,
.availability-form button:focus-visible::after { animation: none; opacity: .9; }
@media (max-width: 767px) { .text-link[data-fast-cta]::before { clip-path: inset(0 round 999px); } }
@media (prefers-reduced-motion: reduce) {
  .text-link[data-fast-cta]::after, [data-notify-open]::after, .availability-form button::after { animation: none; opacity: .55; }
}
