/* Amber root entry only. Existing login, booking and staff surfaces are unchanged. */
body.app-body.page-amber-beauty-lounge.is-public-booking {
  --welcome-paper: #fff8ed;
  --welcome-ink: #202020;
  --welcome-muted: #555555;
  --welcome-accent: #ff9f00;
  --welcome-ease: cubic-bezier(.22, 1, .36, 1);
  margin: 0;
  padding: 0;
  color: var(--welcome-ink);
  background: var(--welcome-paper);
  scrollbar-color: #898989 var(--welcome-paper);
}
body.app-body.page-amber-beauty-lounge.is-public-booking::before,
body.app-body.page-amber-beauty-lounge.is-public-booking::after { display: none; }
body.app-body.page-amber-beauty-lounge.is-public-booking > .page-shell {
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
}
.welcome-entry { --welcome-gutter: clamp(24px, 5.55vw, 96px); width: 100%; }
.welcome-entry ::selection { color: var(--welcome-ink); background: #ffd080; }
.welcome-entry :is(h1, h2, p) { margin: 0; }
.welcome-entry a { color: inherit; text-decoration: none; text-underline-offset: 5px; -webkit-tap-highlight-color: #ffe0a8; }
.welcome-entry a:focus-visible { outline: 3px solid #202020; outline-offset: 6px; }
.welcome-entry svg { width: 24px; height: 24px; flex: 0 0 24px; stroke-linecap: round; stroke-linejoin: round; }
.welcome-canvas { position: relative; isolation: isolate; min-height: 648px; overflow: hidden; background: #ff7900; }
/* Screen against Amber orange removes the asset's brown shadows on this page. */
.welcome-art { position: absolute; z-index: -2; top: 0; right: 0; width: 63%; height: 100%; object-fit: cover; object-position: center 38%; mix-blend-mode: screen; filter: hue-rotate(-12deg); }
.welcome-canvas::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, #fff8ed 0%, #fff8ed 27%, rgba(255,248,237,.96) 37%, rgba(255,248,237,.58) 52%, rgba(255,248,237,0) 71%); }
.welcome-header { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px var(--welcome-gutter); }
.welcome-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.welcome-brand img { display: block; width: 88px; height: auto; }
.welcome-nav { display: flex; align-items: center; gap: 30px; padding: 6px 6px 6px 24px; border-radius: 12px; background: var(--welcome-paper); font-size: 14px; font-weight: 500; }
.welcome-nav a { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 16px; }
.welcome-entry .welcome-nav-login { padding: 0 20px; border-radius: 8px; color: var(--welcome-ink); background: var(--welcome-accent); transition: background-color 180ms var(--welcome-ease); }
.welcome-entry .welcome-nav-login:hover { background: #ffb640; }
.welcome-book-nav:hover { text-decoration: underline; }
.welcome-intro { position: relative; padding: 64px var(--welcome-gutter) 116px; }
.welcome-intro h1 { max-width: 760px; color: var(--welcome-ink); font-family: "Poppins", sans-serif; font-size: clamp(64px, 6.65vw, 96px); font-weight: 300; line-height: 1.07; letter-spacing: -.035em; text-wrap: balance; }
.welcome-intro h1 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; }
.welcome-intro p { max-width: 30ch; margin-top: 30px; color: var(--welcome-muted); font-size: 18px; line-height: 1.65; }
.welcome-art-label { position: absolute; right: var(--welcome-gutter); bottom: 28px; color: var(--welcome-ink); font-size: 11px; letter-spacing: .14em; }
.welcome-staff { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 36px var(--welcome-gutter); color: var(--welcome-ink); background: var(--welcome-accent); }
.welcome-staff h2 { color: inherit; font-family: "Poppins", sans-serif; font-size: 25px; font-weight: 400; line-height: 1.4; letter-spacing: -.02em; }
.welcome-staff p { margin-top: 5px; color: #353535; font-size: 15px; line-height: 1.6; }
.welcome-entry .welcome-primary { display: inline-flex; min-height: 62px; align-items: center; justify-content: space-between; flex: 0 0 286px; gap: 28px; padding: 16px 23px; border-radius: 8px; color: var(--welcome-ink); background: var(--welcome-paper); font-size: 15px; font-weight: 500; transition: background-color 220ms var(--welcome-ease), box-shadow 220ms var(--welcome-ease); }
.welcome-primary svg, .welcome-book-link svg { transition: transform 260ms var(--welcome-ease); }
.welcome-entry .welcome-primary:hover { background: #ffffff; box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.welcome-primary:is(:hover, :focus-visible) svg, .welcome-book-link:is(:hover, :focus-visible) svg { transform: translateX(4px); }
.welcome-entry .welcome-primary:focus-visible { outline-color: var(--welcome-ink); }
.welcome-entry .welcome-primary:active { background: #fff0d5; }
.welcome-visit { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; padding: 68px var(--welcome-gutter); }
.welcome-visit h2 { color: var(--welcome-ink); font-family: "Poppins", sans-serif; font-size: clamp(30px, 3vw, 43px); font-weight: 300; line-height: 1.2; letter-spacing: -.03em; }
.welcome-visit h2 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.welcome-visit-copy p { max-width: 36ch; color: var(--welcome-muted); font-size: 16px; line-height: 1.65; }
.welcome-entry .welcome-book-link { display: inline-flex; min-height: 48px; align-items: center; gap: 28px; margin-top: 12px; border-bottom: 1px solid #999999; font-size: 15px; }
.welcome-book-link:hover { border-bottom-color: var(--welcome-ink); }
.welcome-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 32px; margin: 0 var(--welcome-gutter); padding: 24px 0 30px; border-top: 1px solid #dedbd6; color: var(--welcome-muted); font-size: 12px; line-height: 1.65; }
.welcome-footer span { flex: 0 0 auto; color: var(--welcome-ink); }
.welcome-footer p { max-width: 58ch; }
@media (prefers-reduced-motion: no-preference) {
  .welcome-art { animation: welcome-settle 1100ms var(--welcome-ease) both; }
  @keyframes welcome-settle { from { transform: scale(1.045); } to { transform: scale(1); } }
}
@media (max-width: 760px) {
  .welcome-entry { --welcome-gutter: 24px; }
  .welcome-canvas { min-height: 548px; }
  .welcome-header { gap: 18px; padding-top: 20px; padding-bottom: 20px; }
  .welcome-brand img { width: 70px; }
  .welcome-nav { gap: 0; padding: 0; font-size: 12px; }
  .welcome-nav .welcome-book-nav { display: none; }
  .welcome-entry .welcome-nav-login { min-height: 44px; gap: 10px; padding: 0 14px; }
  .welcome-nav svg { width: 19px; height: 19px; flex-basis: 19px; }
  .welcome-art { top: 175px; width: 100%; height: calc(100% - 175px); object-position: 50% 38%; }
  .welcome-canvas::before { background: linear-gradient(180deg, #fff8ed 0%, #fff8ed 24%, rgba(255,248,237,.96) 35%, rgba(255,248,237,.45) 57%, rgba(255,248,237,0) 73%); }
  .welcome-intro { padding-top: 36px; padding-bottom: 150px; }
  .welcome-intro h1 { max-width: 590px; font-size: clamp(47px, 11vw, 72px); line-height: 1.04; }
  .welcome-intro p { max-width: 27ch; margin-top: 22px; color: #444444; font-size: 15px; line-height: 1.6; }
  .welcome-art-label { bottom: 20px; font-size: 9px; }
  .welcome-staff { flex-direction: column; align-items: stretch; gap: 24px; padding-top: 30px; padding-bottom: 30px; }
  .welcome-staff h2 { font-size: 23px; }
  .welcome-staff p { font-size: 14px; }
  .welcome-entry .welcome-primary { flex-basis: auto; min-height: 58px; font-size: 14px; }
  .welcome-visit { grid-template-columns: 1fr; gap: 20px; padding-top: 48px; padding-bottom: 44px; }
  .welcome-visit h2 { font-size: 34px; }
  .welcome-visit-copy p { font-size: 15px; }
  .welcome-footer { flex-direction: column; gap: 12px; font-size: 12px; }
  .welcome-footer p { max-width: 38ch; }
}
@media (max-width: 359px) {
  .welcome-entry { --welcome-gutter: 20px; }
  .welcome-intro h1 { font-size: 43px; }
  .welcome-canvas { min-height: 520px; }
}
@media (prefers-reduced-motion: reduce) {
  .welcome-entry *, .welcome-entry *::before, .welcome-entry *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .welcome-entry svg { transform: none !important; }
}
@media (forced-colors: active) {
  .welcome-art, .welcome-art-label, .welcome-canvas::before { display: none; }
  .welcome-entry :is(.welcome-primary, .welcome-nav-login) { border: 1px solid ButtonText; }
}
