/* Method. theme v64: copper accent by day, navy + gold by night (6pm-6am London, marketing pages only). */
:root { --copper:#8E5139; --copper-2:#8E5139; --copper-shine:#8E5139; --night:#121821; --night-card:#1A2330; --night-ink:#EDE7DC; --night-gold:#C2A574; --night-gold-2:#E3C893; }

/* ---------- Day ---------- */
.logo .logo-period { color:var(--copper) !important; -webkit-text-fill-color:var(--copper) !important; }
.btn-primary, a.btn-primary, button.btn-primary {
  background:var(--copper) !important; color:#fff !important; border:none !important;
  box-shadow:none; transition:transform .15s ease, box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn-primary:hover { filter:brightness(1.06); }
.btn-primary:active { transform:scale(.985); }
.hs-dot, .dot-pulse { background:var(--copper) !important; box-shadow:0 0 0 0 rgba(158,90,57,.5); animation:mPulse 2s infinite; }
@keyframes mPulse { 0% { box-shadow:0 0 0 0 rgba(158,90,57,.5); } 70% { box-shadow:0 0 0 10px rgba(158,90,57,0); } 100% { box-shadow:0 0 0 0 rgba(158,90,57,0); } }
@media (prefers-reduced-motion: reduce) { .hs-dot, .dot-pulse { animation:none; } .btn-primary { transition:none; } }
/* Phones: comfortable tap targets */
@media (max-width: 600px) {
  .btn, .btn-primary, a.btn-primary { min-height:48px; }
}

/* ---------- Night ---------- */
html.m-night, html.m-night body { background:var(--night) !important; color:var(--night-ink); }
html.m-night body { --paper:var(--night); --ink:var(--night-ink); --pine:#E9E2D6; --pine-deep:#0A0F15; --line:rgba(194,165,116,.2); --stone:#B7A27C; --stone-light:#243040; --gold:var(--night-gold); }
html.m-night h1, html.m-night h2, html.m-night h3, html.m-night .display { -webkit-text-fill-color:#F6F1E8 !important; color:#F6F1E8 !important; background:none !important; }
html.m-night nav { background:var(--night) !important; border-bottom:1px solid rgba(194,165,116,.25) !important; }
html.m-night .logo { background:linear-gradient(135deg,#B9A27A,#EADBB8 45%,#B9A27A) !important; -webkit-background-clip:text !important; background-clip:text !important; }
html.m-night .logo .logo-period { color:var(--night-gold) !important; -webkit-text-fill-color:var(--night-gold) !important; }
html.m-night .navlinks a { color:var(--night-ink) !important; }
html.m-night .nav-burger span { background:var(--night-ink) !important; }
html.m-night .btn-primary, html.m-night a.btn-primary, html.m-night button.btn-primary {
  background:#B89B68 !important; color:#121821 !important;
  box-shadow:none !important;
}
html.m-night .hs-dot, html.m-night .dot-pulse { background:var(--night-gold) !important; animation:mPulseN 2s infinite; }
@keyframes mPulseN { 0% { box-shadow:0 0 0 0 rgba(194,165,116,.55); } 70% { box-shadow:0 0 0 10px rgba(194,165,116,0); } 100% { box-shadow:0 0 0 0 rgba(194,165,116,0); } }
html.m-night .m-n-card { background:var(--night-card) !important; border-color:rgba(194,165,116,.22) !important; }
html.m-night .m-n-text { color:var(--night-ink) !important; -webkit-text-fill-color:var(--night-ink) !important; }
html.m-night .m-n-mute { color:#AEB6C0 !important; -webkit-text-fill-color:#AEB6C0 !important; }
html.m-night input, html.m-night select, html.m-night textarea { background:#0F151D !important; color:var(--night-ink) !important; border-color:rgba(194,165,116,.35) !important; }
html.m-night a.btn:not(.btn-primary), html.m-night .btn-secondary { color:var(--night-ink) !important; border-color:rgba(194,165,116,.55) !important; background:transparent !important; }
html.m-night img { filter:brightness(.92); }
html.m-night footer { color:#9AA3AE !important; border-top-color:rgba(194,165,116,.18) !important; }
/* Night hero: darken the photo layers so light text reads */
html.m-night .hero-bg-layer::after { background:linear-gradient(180deg, rgba(18,24,33,.78), rgba(18,24,33,.9)) !important; }
html.m-night .hero { background-color:var(--night) !important; }
html.m-night .m-keep, html.m-night .m-keep * { color:#121821 !important; -webkit-text-fill-color:#121821 !important; }

/* Card Book buttons: same toned-down metallic ember */
.card-book { background:var(--copper) !important; color:#fff !important; border:none !important; box-shadow:none; transition:transform .15s ease; }
.card-book:active { transform:scale(.97); }
html.m-night .card-book { background:#B89B68 !important; color:#121821 !important; -webkit-text-fill-color:#121821 !important; }
html.m-night .card-book * { color:#121821 !important; -webkit-text-fill-color:#121821 !important; }

/* ---- v64 refinements ---- */
/* Statement buttons: softer terracotta, capitals, tracked */
.btn-primary, a.btn-primary, button.btn-primary { background:rgba(154,80,52,.52) !important; font-weight:600 !important; box-shadow:none !important; }
html.m-night .btn-primary, html.m-night a.btn-primary { background:rgba(184,155,104,.92) !important; color:#121821 !important; -webkit-text-fill-color:#121821 !important; }
/* Gold buttons always carry dark text */
body.hotel .btn.p, body.hotel .go, html.m-night body.hotel .ht .btn.p { background:#C2A574 !important; color:#121821 !important; -webkit-text-fill-color:#121821 !important; border:none !important; }
/* Floating book button, elevated */
.fbook { background:rgba(27,42,56,.92) !important; color:#fff !important; border:1px solid rgba(255,255,255,.18) !important; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  text-transform:uppercase; letter-spacing:.16em; font-size:13.5px !important; font-weight:600 !important; padding:15px 24px !important; box-shadow:0 10px 30px rgba(16,27,38,.25) !important; }
.fbook i { background:#4CC07D !important; width:9px !important; height:9px !important; box-shadow:0 0 8px rgba(76,192,125,.6) !important; }
html.m-night .fbook, body.hotel .fbook { background:rgba(194,165,116,.94) !important; color:#121821 !important; -webkit-text-fill-color:#121821 !important; }
/* Phones: no top announcement strip */
@media (max-width:600px) { .trust-strip, .status-banner { display:none !important; } }

/* "Book" buttons read as a statement; other buttons keep normal capitals */
.m-one .btn-primary, .m-next-b, .card-book { text-transform:uppercase; letter-spacing:.14em; }
.fbook { text-transform:none !important; letter-spacing:.02em !important; font-size:15px !important; }


/* Average 5-star rating: one tappable link that lights up */
.m-rate { color:inherit !important; text-decoration:none !important; border-radius:999px; padding:4px 10px; transition:background .2s, box-shadow .2s, color .2s; -webkit-tap-highlight-color:transparent; }
.m-rate span { color:#B89B68; letter-spacing:1px; margin-right:4px; transition:text-shadow .2s, color .2s; }
.m-rate:hover, .m-rate:active, .m-rate:focus-visible { background:rgba(184,155,104,.14); box-shadow:0 0 0 1px rgba(184,155,104,.35); }
.m-rate:hover span, .m-rate:active span, .m-rate:focus-visible span { color:#D9B76E; text-shadow:0 0 8px rgba(217,183,110,.7); }
/* Hero photos: change very slowly, no panning */
.hero-bg-layer { animation-duration:90s, 90s !important; }
.hero-bg-layer:nth-child(1) { animation-delay:0s !important; } .hero-bg-layer:nth-child(2) { animation-delay:19s !important; }
.hero-bg-layer:nth-child(3) { animation-delay:38s !important; } .hero-bg-layer:nth-child(4) { animation-delay:57s !important; } .hero-bg-layer:nth-child(5) { animation-delay:76s !important; }
.hero-bg-layer { animation-name:heroRotateRest !important; transform:none !important; }
.hero-bg-layer:nth-child(5) { animation-name:heroRotateShort !important; }
/* Menu bars: the photo drifts slowly only while a bar is open */
@keyframes mRowPan { from { background-position:0 0, 0% 30%, 0 0; } to { background-position:0 0, 100% 45%, 0 0; } }
@media (max-width:600px) { .m-row.open { animation:mRowPan 14s ease-in-out infinite alternate; } }
@media (prefers-reduced-motion: reduce) { .m-row.open { animation:none; } }
/* Desktop menu: room for About + Reviews + opening hours */
@media (min-width:901px) { .navlinks { gap:16px !important; margin-left:28px; } .navlinks a { font-size:14px !important; } nav .wrap { gap:22px; } }

/* ---- Inner pages (treatment, area, full menu): same look as the homepage ---- */
.ar .pick { border-radius:16px !important; box-shadow:0 8px 24px rgba(16,27,38,.07); border-color:rgba(27,42,56,.1) !important; }
.ar .bk, .tx-btn { background:rgba(154,80,52,.54) !important; color:#fff !important; border-radius:999px !important; text-transform:uppercase; letter-spacing:.12em; font-size:13.5px !important; font-weight:600 !important; padding:13px 18px !important; text-align:center; display:inline-flex !important; align-items:center; justify-content:center; text-decoration:none !important; white-space:nowrap; }
.ar .bk { display:flex !important; }
.ar .bk:active, .tx-btn:active { transform:scale(.98); }
.ar .cta a { border-radius:999px !important; padding:14px 24px !important; }
.ar .cta .p { background:rgba(154,80,52,.54) !important; color:#fff !important; text-transform:uppercase; letter-spacing:.1em; font-size:13.5px !important; }
.ar .cta .g { border-color:rgba(27,42,56,.35) !important; }
.ar h1.display { font-size:clamp(32px, 6vw, 52px) !important; line-height:1.12 !important; }
.ar .pr b { font-weight:700 !important; }
html.m-night .ar .bk, html.m-night .tx-btn, html.m-night .ar .cta .p { background:#B89B68 !important; color:#121821 !important; -webkit-text-fill-color:#121821 !important; }
html.m-night .ar .pick { background:#1A2330 !important; border-color:rgba(194,165,116,.22) !important; box-shadow:none; }
/* Hotel: rounded buttons to match the rest of the site, gold stays */
body.hotel .ht .btn, body.hotel .go { border-radius:999px !important; }
.wm-btn { background:rgba(154,80,52,.54) !important; color:#fff !important; border-radius:999px !important; border:none !important; font-weight:600 !important; }
.wm-more { border-radius:999px !important; }
html.m-night .wm-btn { background:#B89B68 !important; color:#121821 !important; -webkit-text-fill-color:#121821 !important; }

/* Footer links fold away behind one line */
.m-foot-t { all:unset; cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:3px; color:inherit; }
footer.m-fold .m-foot-links { display:none; } footer.m-fold.open .m-foot-links { display:inline; }

/* ---- Terracotta: sheer, with a very faint moving shimmer ---- */
.btn-primary, a.btn-primary, button.btn-primary, .card-book, .m-row-acts .bk, .m-next-b, .ar .bk, .tx-btn, .wm-btn, .ar .cta .p, .fl-go, .btn.primary {
  background:linear-gradient(120deg, rgba(160,74,38,.86) 0%, rgba(178,88,48,.8) 42%, rgba(232,168,128,.8) 50%, rgba(178,88,48,.8) 58%, rgba(160,74,38,.86) 100%) !important;
  background-size:260% 100% !important; animation:tcShine 9s ease-in-out infinite; color:#fff !important; -webkit-text-fill-color:#fff !important;
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); border:1px solid rgba(160,74,38,.2) !important; font-weight:500 !important;
}
@keyframes tcShine { 0%,100% { background-position:100% 0; } 50% { background-position:0 0; } }
html.m-night .btn-primary, html.m-night a.btn-primary, html.m-night .card-book, html.m-night .m-row-acts .bk, html.m-night .m-next-b, html.m-night .ar .bk, html.m-night .tx-btn, html.m-night .wm-btn, html.m-night .fl-go {
  background:linear-gradient(120deg, rgba(184,155,104,.78) 0%, rgba(194,165,116,.72) 42%, rgba(240,220,175,.8) 50%, rgba(194,165,116,.72) 58%, rgba(184,155,104,.78) 100%) !important;
  background-size:260% 100% !important; color:#121821 !important; -webkit-text-fill-color:#121821 !important;
}
@media (prefers-reduced-motion: reduce) { .btn-primary, .card-book, .m-row-acts .bk, .m-next-b, .fl-go { animation:none !important; } }

/* Lighter type across the main site */
.hero h1.m-h1, .hero h1.display { font-weight:400 !important; }
.hs-prices b { font-weight:700 !important; }
.m-first { font-weight:500 !important; }
.m-one .btn-primary { font-weight:500 !important; letter-spacing:.16em !important; }

/* ---- Prices that pop: bigger, with a soft metallic sheen ---- */
.hs-prices b {
  font-size:clamp(52px, 11vw, 64px) !important; font-weight:700 !important; letter-spacing:-.015em;
  background:linear-gradient(110deg, #1B2A38 0%, #1B2A38 40%, #6E7F90 50%, #1B2A38 60%, #1B2A38 100%) !important;
  background-size:260% 100% !important; -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; animation:priceShine 6s ease-in-out infinite;
}
html.m-night .hs-prices b { background-image:linear-gradient(110deg, #F6F1E8 0%, #F6F1E8 40%, #E3C893 50%, #F6F1E8 60%, #F6F1E8 100%) !important; }
@keyframes priceShine { 0%,100% { background-position:100% 0; } 50% { background-position:0 0; } }
/* Bigger button words */
.btn-primary, a.btn-primary, .mm-btns a, .fl-go, .pk-go, .quiz-next, .card-book, .m-row-acts a { font-size:17px !important; }
.m-one .btn-primary { font-size:17px !important; min-height:60px !important; }
.mm-btns a { min-height:60px !important; font-size:18px !important; }

/* ---- Night, main site: graphite and silver (hotel pages keep navy and gold) ---- */
html.m-night.m-silver, html.m-night.m-silver body { background:#16191D !important; }
html.m-night.m-silver body { --paper:#16191D; --pine-deep:#0E1013; --line:rgba(200,206,212,.16); --stone:#A9B0B8; --gold:#C9CED4; --night:#16191D; --night-card:#1F2328; --night-gold:#C9CED4; }
html.m-silver nav, html.m-silver .hero { background:#16191D !important; border-color:rgba(200,206,212,.16) !important; }
html.m-silver .logo { background:linear-gradient(135deg,#8E959D,#E6E9EC 45%,#8E959D) !important; -webkit-background-clip:text !important; background-clip:text !important; }
html.m-silver .logo .logo-period, html.m-silver .m-swap { color:#D5DADF !important; -webkit-text-fill-color:#D5DADF !important; }
html.m-silver .m-n-card, html.m-silver .m-row { border-color:rgba(200,206,212,.18) !important; }
html.m-silver .m-n-card { background:#1F2328 !important; }
html.m-silver .btn-primary, html.m-silver a.btn-primary, html.m-silver .card-book, html.m-silver .m-row-acts .bk, html.m-silver .m-next-b, html.m-silver .ar .bk, html.m-silver .tx-btn, html.m-silver .wm-btn, html.m-silver .fl-go, html.m-silver .fbook {
  background:linear-gradient(120deg, #A7AEB6 0%, #C9CED4 42%, #F1F3F5 50%, #C9CED4 58%, #A7AEB6 100%) !important; background-size:260% 100% !important;
  color:#15181C !important; -webkit-text-fill-color:#15181C !important; border-color:rgba(255,255,255,.2) !important; }
html.m-silver .hs-prices b { background-image:linear-gradient(110deg, #ECEEF0 0%, #ECEEF0 40%, #FFFFFF 50%, #ECEEF0 60%, #ECEEF0 100%) !important; }
html.m-silver .m-was::after { background:#A9B0B8 !important; }
html.m-silver .m-next { background:#0E1013 !important; }
html.m-silver .hero-side, html.m-silver .m-ph-desk { box-shadow:0 24px 60px rgba(0,0,0,.45) !important; }
html.m-silver .m-rate span, html.m-silver .m-stars span { color:#C9CED4 !important; }

/* ---- Inner pages, day: sheer ink-blue buttons with a faint silver shimmer (homepage keeps ember) ---- */
html.m-inner:not(.m-night) .btn-primary, html.m-inner:not(.m-night) a.btn-primary, html.m-inner:not(.m-night) button.btn-primary,
html.m-inner:not(.m-night) .card-book, html.m-inner:not(.m-night) .m-row-acts .bk, html.m-inner:not(.m-night) .m-next-b,
html.m-inner:not(.m-night) .ar .bk, html.m-inner:not(.m-night) .tx-btn, html.m-inner:not(.m-night) .wm-btn,
html.m-inner:not(.m-night) .ar .cta .p, html.m-inner:not(.m-night) .fl-go, html.m-inner:not(.m-night) .btn.primary, html.m-inner:not(.m-night) .pk-go {
  background:linear-gradient(120deg, rgba(16,44,78,.9) 0%, rgba(26,66,112,.86) 40%, rgba(132,176,222,.82) 50%, rgba(26,66,112,.86) 60%, rgba(16,44,78,.9) 100%) !important;
  background-size:260% 100% !important; animation:tcShine 7s ease-in-out infinite; border:1px solid rgba(120,165,215,.35) !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; font-weight:600 !important;
  box-shadow:0 8px 22px rgba(18,52,94,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* ---- Headings: plainer and modern (replaces Fraunces everywhere except the logo) ---- */
h1, h2, h3, h4, .display, blockquote, .amt, .hs-prices b, .m-was, .m-amt-was, .m-amt-new, [style*="Fraunces"], .lc-h, .lc-n, .lcc-b b, .m-row-n, .pk-day b,
.hero h1.m-h1, .hero h1.display, .m-h1 em, .m-swap, .hrv-grid blockquote {
  font-family:'Inter Tight', 'Inter Display', 'Inter', 'Work Sans', system-ui, sans-serif !important;
  font-variation-settings:normal !important;
}
h1, .display, .hero h1.m-h1 { font-weight:300 !important; letter-spacing:-.025em !important; }
h2, h3, .lc-h { font-weight:400 !important; letter-spacing:-.018em !important; }
.m-swap, .m-h1 em { font-style:italic !important; font-weight:300 !important; }
.hs-prices b, .amt { font-weight:600 !important; letter-spacing:-.03em !important; }
blockquote { font-weight:400 !important; letter-spacing:-.01em; }
.logo, .logo * { font-family:'Fraunces', Georgia, serif !important; }
/* Midpoint weight: the big hero line stays light; section and card headings get more body so they don't look wispy */
h2, .lc-h { font-weight:400 !important; letter-spacing:-.02em !important; }
h3, .offer-card h3, .lc-n, .m-row-n { font-weight:500 !important; letter-spacing:-.015em !important; }
.offer-card h3 small, h3 .brand-name { font-weight:400 !important; }
/* Titles: Fraunces, modified - soft corners, no quirky curls, medium weight. Catchphrase and prices keep Inter Tight. */
h2, h3, h4, .offer-card h3, .lc-h, .lc-n, .lcc-b b, .m-menu-h, html body .m-row-n, blockquote, .hrv-grid blockquote {
  font-family:'Fraunces', Georgia, serif !important; font-weight:450 !important; letter-spacing:-.01em !important;
  font-variation-settings:'opsz' 9, 'SOFT' 100, 'WONK' 0 !important;
}
h3 small, h3 .brand-name, .offer-card h3 small { font-family:'Fraunces', Georgia, serif !important; font-weight:400 !important; }
blockquote, .hrv-grid blockquote { font-weight:400 !important; }
@media (max-width:600px) { html body .m-row-n { font-size:18px !important; letter-spacing:-.01em !important; } }
/* Menu rows: a clear arrow instead of a plus */
html body .m-row-c { font-size:28px !important; line-height:1 !important; width:26px !important; font-weight:300 !important; transform-origin:50% 55%; }
/* Desktop: the whole treatment card books that treatment */
@media (min-width:901px) { .offer-card[data-book] { cursor:pointer; } .offer-card[data-book]:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(16,27,38,.22); } }

/* Section titles: the sleek headline font by default */
html:not(.m-keep) body h2, html:not(.m-keep) body .lc-h, html:not(.m-keep) body .m-menu-h {
  font-family:'Inter Tight', 'Inter Display', 'Inter', system-ui, sans-serif !important; font-weight:430 !important;
  letter-spacing:-.022em !important; font-variation-settings:normal !important;
}
html:not(.m-keep) body h2 em { font-style:italic !important; font-weight:400 !important; color:#A4492A; -webkit-text-fill-color:#A4492A; }
html.m-silver body h2 em { color:#D5DADF; -webkit-text-fill-color:#D5DADF; }
/* Treatments, Membership and Locations titles + studio names: the soft card serif, toned down */
html body #services h2, html body h2.mship-h, html body h2.mship-h *, html:not(.m-keep) body h2.lc-h, html body h2.lc-h, html:not(.m-keep) body h2.m-menu-h, html body h2.m-soft, html:not(.m-keep) body h2.m-soft {
  font-family:'Fraunces', Georgia, serif !important; font-weight:420 !important; letter-spacing:-.01em !important;
  font-variation-settings:'opsz' 9, 'SOFT' 100, 'WONK' 0 !important;
}
html body .lc-n {
  font-family:'Fraunces', Georgia, serif !important; font-weight:400 !important; letter-spacing:-.01em !important;
  font-variation-settings:'opsz' 9, 'SOFT' 100, 'WONK' 0 !important;
}
/* Stars: ember */
html.m-main .m-rate span, html.m-main .m-stars span, html.m-main .hrv-st, html.m-main .review-stars { color:#D2733C !important; -webkit-text-fill-color:#D2733C !important; }
/* Hotel pages: serif all round, headline included (soft Fraunces) */
html.m-hotel h1, html.m-hotel .display, html.m-hotel h2, html.m-hotel h3 {
  font-family:'Fraunces', Georgia, serif !important; font-weight:400 !important; letter-spacing:-.012em !important;
  font-variation-settings:'opsz' 72, 'SOFT' 100, 'WONK' 0 !important;
}
html.m-hotel h1 em, html.m-hotel .display em { font-style:italic !important; }

/* ---- Main site buttons: graphite with a silver sheen (was blues), with a vibrant ember spark ---- */
html.m-main:not(.m-night) body .btn-primary, html.m-main:not(.m-night) body a.btn-primary, html.m-main:not(.m-night) body button.btn-primary, html.m-main:not(.m-night) body .m-one .btn-primary, html.m-main:not(.m-night) body .card-book, html.m-main:not(.m-night) body .m-row-acts .bk, html.m-main:not(.m-night) body .m-next-b, html.m-main:not(.m-night) body .ar .bk, html.m-main:not(.m-night) body .tx-btn, html.m-main:not(.m-night) body .wm-btn, html.m-main:not(.m-night) body .ar .cta .p, html.m-main:not(.m-night) body .fl-go, html.m-main:not(.m-night) body .btn.primary, html.m-main:not(.m-night) body .pk-go {
  background:linear-gradient(120deg,#23272D 0%,#343A42 42%,#9AA3AC 50%,#343A42 58%,#23272D 100%) !important;
  background-size:260% 100% !important; animation:tcShine 8s ease-in-out infinite;
  border:0 !important; box-shadow:0 8px 22px rgba(20,36,52,.22), inset 0 1px 0 rgba(255,255,255,.12) !important;
  color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important; font-weight:600 !important;
}
/* Main hero button: deepest ink */
html.m-main:not(.m-night) body .hero .m-one .btn-primary, html.m-main:not(.m-night) body .m-dprice ~ .cta-row .btn-primary {
  background:linear-gradient(120deg,#16191D 0%,#262B31 42%,#8E979F 50%,#262B31 58%,#16191D 100%) !important; background-size:260% 100% !important;
  box-shadow:0 12px 28px rgba(17,28,39,.3), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
/* Treatment cards and menu bars (on dark photos): lighter steel blue so they read as solid */
html.m-main:not(.m-night) body .card-book, html.m-main:not(.m-night) body .m-row-acts .bk {
  background:linear-gradient(120deg,#3C4249 0%,#4C535B 42%,#B7BEC5 50%,#4C535B 58%,#3C4249 100%) !important; background-size:260% 100% !important;
}
/* Next-available bar and small buttons: mid blue */
html.m-main:not(.m-night) body .m-next-b, html.m-main:not(.m-night) body .pk-go {
  background:linear-gradient(120deg,#2E3339 0%,#3F454D 42%,#A6AEB6 50%,#3F454D 58%,#2E3339 100%) !important; background-size:260% 100% !important;
}
/* Vibrant ember spark on every booking button (day and night) */
html.m-main body .btn-primary::after, html.m-main body a.btn-primary::after, html.m-main body button.btn-primary::after, html.m-main body .m-one .btn-primary::after, html.m-main body .card-book::after, html.m-main body .m-row-acts .bk::after, html.m-main body .m-next-b::after, html.m-main body .ar .bk::after, html.m-main body .tx-btn::after, html.m-main body .wm-btn::after, html.m-main body .ar .cta .p::after, html.m-main body .fl-go::after, html.m-main body .btn.primary::after, html.m-main body .pk-go::after {
  content:''; display:inline-block; width:7px; height:7px; border-radius:50%; margin-left:11px; vertical-align:middle;
  background:#FF8A47; box-shadow:0 0 6px #FF8A47, 0 0 14px rgba(255,130,70,.7); animation:emberPulse 2.8s ease-in-out infinite;
}
@keyframes emberPulse { 0%,100% { opacity:.8; transform:scale(.92); } 50% { opacity:1; transform:scale(1.12); } }
@media (prefers-reduced-motion: reduce) { html.m-main body .btn-primary::after, html.m-main body a.btn-primary::after, html.m-main body button.btn-primary::after, html.m-main body .m-one .btn-primary::after, html.m-main body .card-book::after, html.m-main body .m-row-acts .bk::after, html.m-main body .m-next-b::after, html.m-main body .ar .bk::after, html.m-main body .tx-btn::after, html.m-main body .wm-btn::after, html.m-main body .ar .cta .p::after, html.m-main body .fl-go::after, html.m-main body .btn.primary::after, html.m-main body .pk-go::after { animation:none; } }
/* Warm candle glow around the hero photo */
html.m-main:not(.m-night) .m-ph-desk { box-shadow:0 0 0 1px rgba(201,132,84,.28), 0 24px 70px rgba(214,128,72,.32) !important; }
html.m-main.m-night .m-ph-desk { box-shadow:0 0 0 1px rgba(201,206,212,.18), 0 24px 70px rgba(214,128,72,.18) !important; }
/* Copper accent on the price label and link underline */
html.m-main:not(.m-night) .hs-k { color:#B5714A !important; }
html.m-main:not(.m-night) .m-viewall a, html.m-main:not(.m-night) .m-all { text-decoration-color:#C98454 !important; border-color:#C98454 !important; }

/* Top 'Book a session' button: a touch deeper than the other sheer ember buttons */

/* 'Choose your Session': centred, no squiggle */
.ar h2.m-pick-h { text-align:center !important; } .ar h2.m-pick-h::after { display:none !important; }
/* Phone hero: no warm tint spilling under the photo - keep it clean */
html.m-main .m-ph-mob { box-shadow:none !important; }

/* Hotel pages: centred headings with the curve line centred underneath */
html.m-hotel h2 { text-align:center !important; }
html.m-hotel h2::after { margin-left:auto !important; margin-right:auto !important; }
.m-not-hotel { font-size:14px; margin:12px 0 0; opacity:.85; } .m-not-hotel a { color:inherit; font-weight:600; text-decoration:none; border-bottom:1px solid currentColor; }

/* Brand word inside "The Method. Playlist" */
.m-brand { font-family:'Fraunces', Georgia, serif !important; font-weight:700 !important; font-style:normal !important; letter-spacing:.01em; text-transform:none !important; font-variation-settings:normal !important; }
.m-brand-p { color:#C8693A !important; -webkit-text-fill-color:#C8693A !important; }
/* Membership: badge sits above every tier so prices and buttons line up across */
#membership .mship-grid .mship-tier { padding-top:46px !important; position:relative; }
#membership .mship-grid .mship-tier:nth-child(2)::before { position:absolute !important; top:14px; left:50%; transform:translateX(-50%); margin:0 !important; white-space:nowrap; }
#membership .mship-tier h3 { min-height:2.6em; }
/* Info pages: centre the text in the bottom buttons */
.ar .cta a { text-align:center !important; justify-content:center !important; }
/* Smaller asterisks on the menu page */
.m-ast { font-size:.6em !important; vertical-align:super; }

.m-brand-wrap, .m-brand, .m-brand-p { margin:0 !important; padding:0 !important; display:inline !important; opacity:1 !important; font-size:inherit !important; color:inherit; }
.m-brand-wrap { font-style:inherit; } .m-brand, .m-brand-p { font-style:normal !important; }
.m-brand-p { color:#C8693A !important; }

/* ===== v79 refinement: one quieter, richer palette + more expensive type ===== */
:root {
  --m-ink:#18222C;        /* deep ink: headings, prices */
  --m-text:#3A4047;       /* body copy: softer than black */
  --m-mute:#7C7A74;       /* small print */
  --m-ember:#B4612F;      /* burnished ember (less orange) */
  --m-ember-soft:rgba(180,97,47,.14);
  --m-green:#1F4A3D;      /* bottle green */
  --m-green-2:#2C6150;
  --m-sage:#8FB3A2;       /* green highlight */
}
/* Body copy: softer ink, more air */
html.m-main:not(.m-night) body, html.m-main:not(.m-night) body p { color:var(--m-text); }
html body .lede, html body .m-lede { line-height:1.62 !important; letter-spacing:.002em; }
/* Sleek headline: lighter, tighter, more editorial */
html:not(.m-keep) .hero h1.m-h1, html:not(.m-keep) .hero h1.display {
  font-weight:280 !important; letter-spacing:-.038em !important; line-height:1.02 !important; color:var(--m-ink) !important;
  -webkit-text-fill-color:var(--m-ink) !important; background:none !important; font-feature-settings:'ss01','cv11' !important;
}
html.m-night .hero h1.m-h1, html.m-night .hero h1.display { color:#EEF0F2 !important; -webkit-text-fill-color:#EEF0F2 !important; }
html:not(.m-keep) .m-swap { font-weight:300 !important; letter-spacing:-.03em !important; }
html.m-main:not(.m-night) .m-swap { color:var(--m-ember) !important; -webkit-text-fill-color:var(--m-ember) !important; }
/* Sleek section titles */
html:not(.m-keep) body h2 { font-weight:350 !important; letter-spacing:-.03em !important; color:var(--m-ink); }
/* Small labels: wide tracking reads luxe */
html body .hs-k, html body .eyebrow, html body .m-sdk { letter-spacing:.24em !important; font-weight:600 !important; font-size:11px !important; }
html.m-main:not(.m-night) .hs-k, html.m-main:not(.m-night) .m-sdk { color:var(--m-ember) !important; }
/* Prices: tabular lining figures, slightly lighter, refined sheen */
html body .hs-prices b { font-weight:600 !important; letter-spacing:-.045em !important; font-feature-settings:'tnum','lnum','ss01' !important; }
html body .m-was, html body .m-amt-was { font-weight:400 !important; text-decoration-thickness:1px !important; text-decoration-color:var(--m-ember) !important; }
/* Buttons: calmer weight, wider tracking */
html body .btn-primary, html body .card-book, html body .m-row-acts .bk, html body .fl-go, html body .m-next-b {
  font-weight:550 !important; letter-spacing:.18em !important;
}
/* Ember accents: burnished, not orange */
html.m-main .m-rate span, html.m-main .m-stars span, html.m-main .hrv-st, html.m-main .review-stars { color:var(--m-ember) !important; -webkit-text-fill-color:var(--m-ember) !important; }
.m-90 { border-bottom-color:rgba(180,97,47,.5) !important; background:linear-gradient(transparent 66%, var(--m-ember-soft) 66%) !important; }
.m-brand-p, html .m-row-c { color:var(--m-ember) !important; -webkit-text-fill-color:var(--m-ember) !important; }
html body .btn-primary::after, html body .card-book::after, html body .m-row-acts .bk::after, html body .m-next-b::after {
  background:#E07A42 !important; box-shadow:0 0 5px rgba(224,122,66,.75), 0 0 12px rgba(224,122,66,.4) !important;
}

/* v80: studio names in a finer cut of the serif - less serif character, still not modern */
html body .lc-n { font-variation-settings:'opsz' 144, 'SOFT' 100, 'WONK' 0 !important; font-weight:430 !important; letter-spacing:-.005em !important; }
/* v80: info-page titles (treatment pages, Treatments, Reviews): a touch of serif, a little heavier and smaller, centred */
html body .ar h1.display, html body h1.m-pagetitle {
  font-family:'Fraunces', Georgia, serif !important; font-variation-settings:'opsz' 144, 'SOFT' 100, 'WONK' 0 !important;
  font-weight:360 !important; letter-spacing:-.018em !important; font-size:clamp(28px,6.6vw,42px) !important; line-height:1.12 !important; text-align:center !important;
}
html body .ar h2.m-center, html body h2.m-center { text-align:center !important; }
html body .ar h2.m-center::after { margin-left:auto !important; margin-right:auto !important; }
/* v81: softer, lighter serif on Locations, Treatments and Membership titles, studio names and the MassagesMe list
   (finest cut, lighter weight: the serifs recede without going modern) */
html body #services h2, html body h2.mship-h, html body h2.mship-h *, html:not(.m-keep) body h2.lc-h, html body h2.lc-h,
html:not(.m-keep) body h2.m-menu-h, html body h2.m-soft, html:not(.m-keep) body h2.m-soft {
  font-variation-settings:'opsz' 144, 'SOFT' 100, 'WONK' 0 !important; font-weight:370 !important; letter-spacing:-.012em !important;
}
html body .lc-n { font-variation-settings:'opsz' 144, 'SOFT' 100, 'WONK' 0 !important; font-weight:370 !important; letter-spacing:0 !important; }
