/* Public launch page and owner preview controls, scoped to avoid storefront changes. */
.coming-soon {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  color: #432d25;
  background: radial-gradient(ellipse at 50% 45%, #fffdf9 0%, #faf8f4 55%, #f0ebe3 100%);
}
.coming-soon-header { display: flex; flex-direction: column; align-items: center; padding: clamp(32px, 7vh, 72px) 20px 20px; gap: 28px; }
.coming-soon-brand { display: block; text-align: center; font-size: clamp(32px, 5vw, 48px); letter-spacing: .045em; }
.coming-soon-brand > .brand-name { display: block; font-variant-caps: small-caps; }
.coming-soon-brand > .brand-tagline { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(8px, 1vw, 10px); font-weight: 400; line-height: 1.4; letter-spacing: .24em; margin-top: 12px; }
.coming-soon-languages { display: flex; align-items: center; gap: 20px; }
.coming-soon-languages a { min-height: 44px; display: inline-flex; align-items: center; font-size: 10px; letter-spacing: .08em; color: #71675d; text-decoration: none; border-bottom: 1px solid transparent; }
.coming-soon-languages a[aria-current] { color: #432d25; border-bottom-color: #432d25; }
.coming-soon-languages a:focus-visible, .private-preview-bar a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.coming-soon-main { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 55px 24px 80px; text-align: center; }
.coming-soon-line { width: 48px; height: 1px; background: #cbbcac; }
.coming-soon-eyebrow { margin: 32px 0 18px; font-size: 10px; letter-spacing: .25em; line-height: 1.6; }
.coming-soon-main h1 { font-family: var(--serif); font-size: clamp(36px, 5.5vw, 66px); font-weight: 500; letter-spacing: -.015em; line-height: 1.12; max-width: 750px; margin: 0; }
.coming-soon-description { max-width: 420px; margin: 24px 0 36px; color: #71675d; font-size: 14px; line-height: 1.8; }
.coming-soon-footer { padding: 24px; text-align: center; font-size: 11px; letter-spacing: .12em; }
.private-preview-bar { position: relative; z-index: 51; min-height: 44px; padding: 10px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; background: #432d25; color: #fffaf4; font-size: 11px; line-height: 1.7; }
.private-preview-bar nav { display: flex; align-items: center; gap: 20px; }
.private-preview-bar a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.preview-access { min-height: 100svh; max-width: 620px; margin: 0 auto; padding: 70px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 24px; }
.preview-access .brand { text-align: center; letter-spacing: .045em; }
.preview-access h1 { margin: 20px 0 0; font-family: var(--serif); font-weight: 500; font-size: 36px; }
.preview-access p { margin: 0; }
@media (max-width: 600px) {
  .coming-soon-header { padding-top: 40px; gap: 18px; }
  .coming-soon-main { padding: 40px 24px 60px; }
  .coming-soon-main h1 { max-width: 310px; }
  .coming-soon-description { font-size: 13px; }
  .private-preview-bar { padding: 10px 16px; font-size: 10px; }
  .private-preview-notice { display: none; }
  .private-preview-bar nav { gap: 14px; }
}
