/* Final typography pass shared by all pages. */
.top, .home .top, .maraya-lux .top { position: sticky; top: 0; z-index: 120; background: rgba(248,245,239,.86); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 3px 18px rgba(29,26,23,.06); }
section[id], .home section[id], #order { scroll-margin-top: 120px; }
button, input, select, textarea, .btn { font-family: var(--font-body); }
.top__logo-script, .footer__script, .home .footer__script { font-family: var(--font-script); }
.section__title, .service h3, .bstep__title, .lux__ritual h2, .lux__shop h2 { font-family: var(--font-display); }
body { font-size: 17px; line-height: 1.8; font-weight: 400; }
.top__links a, .home .top__links a { font-size: 14px; text-transform: none; }
.top__links, .home .top__links { gap: 21px; }
.top__logo-sub, .home .top__logo-sub { font-size: 12px; }
.btn, .home .btn { font-size: 14px; font-weight: 500; text-transform: none; }
.eyebrow, .home .eyebrow, .hero__eyebrow, .home .hero__eyebrow, .hero--page .hero__eyebrow { font-size: 14px; }
.home .hero__title { font-family: var(--font-display); font-size: 100px; font-weight: 500; line-height: 1.15; }
.home .hero__sub { margin-top: 18px; font-size: 20px; }
.home .hero__tag, .hero--page .hero__tag { font-size: 23px; }
.hero__tag em { font-style: normal; }
.home .welcome__text, .service p, .home .service p, .section__lead, .visit__col p, .visit__col address, .services__note { font-size: 17px; }
.home .hero__discover, .editorial-link, .salon-strip { font-size: 14px; }
.gallery__tile figcaption, .welcome__portrait figcaption, .service__link, .stylenav__chip { font-size: 14px; text-transform: none; }
.svcpick__opt { font-size: 17px; }
.svcpick__opt small, .cal__note, .booking__fine { font-size: 14px; }
.bcontact label, .lux__form label { font-size: 14px; text-transform: none; }
.cal__grid--labels span { font-size: 12px; }
.cal__day { font-size: 17px; }
.lux__eyebrow, .lux__sub, .lux__reserve, .lux__reel figcaption { font-size: 15px; }
.lux__notes, .lux__ritual-steps, .lux__shop-line { font-size: 17px; }
.lux__dm { font-size: 15px; }
.lux__dm span { font-size: 12px; }
.footer__nav a { font-size: 14px; text-transform: none; }
.footer__line { font-size: 15px; }
.footer__fine { opacity: .85; font-size: 13px; }
.home .bookbar a, .bookbar a { font-size: 14px; text-transform: none; }
.quote p { line-height: 1.7; }
.top__logo-script { line-height: 1.2; }
@media (max-width: 1100px) {
  .top__links, .home .top__links { gap: 15px; }
  .home .hero__title { font-size: 84px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .top__links, .home .top__links { position: fixed; inset: 0 0 0 auto; width: 300px; background: var(--paper); flex-direction: column; justify-content: center; gap: 24px; transform: translateX(100%); z-index: 100; visibility: hidden; }
  .top__links.open, .home .top__links.open { transform: none; visibility: visible; }
  .top__links a, .home .top__links a { color: var(--ink); font-size: 18px; }
  .top__burger { display: flex; z-index: 110; }
  .top__burger.open { position: fixed; right: 4%; top: 24px; }
  .top__burger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .top__burger.open span:nth-child(2) { opacity: 0; }
  .top__burger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
}
@media (max-width: 760px) {
  .top__links a, .home .top__links a { font-size: 18px; }
  .home .hero__title { font-size: 56px; white-space: normal; }
  .home .hero__eyebrow { font-size: 12px; }
  .home .hero__tag, .hero--page .hero__tag { font-size: 20px; }
  .home .hero .btn { font-size: 13px; padding: 13px 15px; }
  .salon-strip { font-size: 12px; }
  .lux__sub { font-size: 13px; }
  .lux__notes { font-size: 16px; }
}
@media (max-width: 360px) {
  .home .hero__title { font-size: 46px; }
  .home .hero .btn { font-size: 12px; padding: 12px; }
  .home .hero__tag { font-size: 18px; }
}
