/* A glossy finish over the existing salon layout. No extra image requests or JS. */
.salon-site {
  --paper: #fcf7f3;
  --muted: #725663;
  --line: #e0cbc8;
  --luxe-rim: #d9beb3;
  --luxe-shadow: 0 18px 48px #54243c12;
  --luxe-surface: linear-gradient(135deg, #fffffffa, #fffaf5f5 48%, #f5e4e5ed);
  background: radial-gradient(ellipse 75% 650px at 100% 1100px, #ebc9cf72, transparent 76%),
    radial-gradient(ellipse 70% 700px at 0 2400px, #e8d1bb66, transparent 72%),
    linear-gradient(115deg, #fcf8f5 4%, #f5e8e7 26%, #fffdf8 45%, #f8ede6 73%, #fcf7f3);
}
.salon-site ::selection { background: #edc5d3; color: #402331; }
/* Direct profile links use local vector icons, without external social widgets. */
.social-links { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.salon-site .social-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 44px; padding: 10px 17px; border: 1px solid #c79eaa; border-radius: 30px;
  background: linear-gradient(135deg, #fffdf6, #eed6de); color: #63384e;
  font: 600 12px/1.4 var(--font); letter-spacing: 0; text-decoration: none;
  box-shadow: inset 0 1px 0 #fff, 0 5px 15px #54243c0c;
}
.social-icon { display: block; width: 20px; height: 20px; flex: 0 0 20px; }
.salon-site .social-link:hover { background: linear-gradient(135deg, #f9e3eb, #e3b7c9); border-color: #b88499; color: #402331; }
.salon-site .social-link:focus-visible { outline: 2px solid #ad4c75; outline-offset: 4px; }
.salon-site .announcement { height: 48px; gap: 14px; }
.salon-site .announcement > .announcement-tagline { display: block; }
.social-links--announcement { flex: 0 0 auto; flex-wrap: nowrap; gap: 4px; }
.salon-site .social-links--announcement .social-link {
  width: 44px; height: 44px; padding: 11px; border-color: #f2d1db59;
  background: linear-gradient(135deg, #fff4e519, #fff1e805); color: #ffede4;
  box-shadow: inset 0 1px 0 #ffffff24;
}
.social-links--announcement .social-link-label { display: none; }
.salon-site .social-links--announcement .social-link:hover { background: #ffffff21; color: #fff; }
.salon-site .social-links--announcement .social-link:focus-visible { outline-color: #fff5e6; }
.salon-site .site-header--search :is(.services-dropdown, .header-search-panel, .mobile-nav) { max-height: calc(100dvh - var(--header-height) - 48px); }
.social-links--menu { padding-block: 18px 6px; }
.footer-social { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 22px; padding-bottom: 30px; margin-bottom: 34px; border-bottom: 1px solid var(--line); }
.salon-site .footer-social .eyebrow { color: #805369; font-size: 9px; }
.salon-site .footer-social h3 { font: 32px/1.25 var(--serif); color: #563448; margin-top: 8px; }
.salon-site .social-links--contact { margin-top: 20px; }
.salon-site .social-caption { flex-wrap: wrap; gap: 18px; }
@media (max-width: 600px) {
  .salon-site .announcement > .announcement-location { display: none; }
  .salon-site .announcement > .announcement-tagline { min-width: 0; font-size: 7px; letter-spacing: .07em; }
  .salon-site .footer-social { align-items: flex-start; gap: 18px; }
}
.salon-site .announcement {
  background: linear-gradient(110deg, #281823, #573047 52%, #281823);
  border-bottom: 1px solid #d0a79766;
  color: #ffede4;
}
.salon-site .site-header--search {
  background: linear-gradient(125deg, #fffffffa, #fffaf8f5 60%, #f6eae7f5);
  border-bottom-color: #dfc6bf;
  box-shadow: inset 0 1px 0 #fff, 0 5px 24px #54243c08;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.salon-site .site-header--search.scrolled { box-shadow: inset 0 1px 0 #fff, 0 9px 30px #54243c19; }
.salon-site .header-brand-caption > span { color: #784558; }
.salon-site .header-brand-caption small { color: #795a69; }
.salon-site :is(.header-search-form, .catalog-toolbar .search-box, .site-search-form) {
  background: linear-gradient(155deg, #fff, #f9efeb);
  border-color: #d6b9b5;
  box-shadow: inset 0 2px 3px #54243c06, 0 1px 0 #ffffff;
}
.salon-site :is(.services-dropdown, .header-search-panel),
.salon-site .site-header--search .mobile-nav {
  background: var(--luxe-surface);
  border-color: #d7b7ae;
  box-shadow: inset 0 1px 0 #fff, 0 24px 55px #42203326;
}
.salon-site .services-dropdown-footer { background: linear-gradient(115deg, #faefeb, #efd8de); }

/* The sheen moves only when someone interacts with a button. */
.salon-site .button,
.salon-site .header-actions .button {
  background-color: #422437;
  background-image: linear-gradient(115deg, transparent 24%, #ffffff24 39%, transparent 53%),
    linear-gradient(155deg, #885270, #522d43 38%, #32202d);
  background-size: 240% 100%, 100% 100%;
  background-position: 115% 0, 0 0;
  border-color: #7b4b60;
  box-shadow: inset 0 1px 0 #ffffff52, inset 0 -1px 0 #1d11184d, 0 8px 18px #54243c1c;
  color: #fffaf7;
  transition: background-position .65s ease, box-shadow .25s ease, transform .25s ease;
}
.salon-site .button:hover,
.salon-site .header-actions .button:hover {
  background-color: #422437;
  background-position: -35% 0, 0 0;
  border-color: #956479;
  box-shadow: inset 0 1px 0 #ffffff70, 0 13px 26px #54243c2b;
}
.salon-site :is(.salon-slide-actions, .closing-cta) .button,
.salon-site .button-light {
  color: #402331;
  background-color: #f6d7cd;
  background-image: linear-gradient(115deg, transparent 24%, #ffffff8c 39%, transparent 53%),
    linear-gradient(155deg, #fff6e9, #f1c3d1 52%, #dfb1a8);
  background-size: 240% 100%, 100% 100%;
  background-position: 115% 0, 0 0;
  border-color: #ffe4d8;
  box-shadow: inset 0 1px 0 #fff, 0 9px 25px #26142030;
}
.salon-site :is(.salon-slide-actions, .closing-cta) .button:hover,
.salon-site .button-light:hover {
  background-color: #f6d7cd;
  background-position: -35% 0, 0 0;
  border-color: #fff3e7;
  color: #402331;
  box-shadow: inset 0 1px 0 #fff, 0 13px 30px #26142040;
}
.salon-site .button-outline {
  background-image: var(--luxe-surface);
  background-color: #fffaf5;
  background-size: 100% 100%;
  color: #402331;
  border-color: #b8879a;
  box-shadow: inset 0 1px 0 #fff, 0 6px 16px #54243c10;
}
.salon-site .button:focus-visible { outline: 3px solid #ad4c75; outline-offset: 4px; }
.salon-site .salon-slider .button:focus-visible { outline-color: #fff5e6; }

/* Rich photography, metallic type and a glass control surface. */
.salon-site .salon-slider { background: #2b1926; border-bottom: 1px solid #d6aa92; }
.salon-slider::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 3;
  box-shadow: inset 0 1px 0 #ffffff2b, inset 0 -1px 0 #fff4de59;
}
.salon-site .salon-slide-copy h2 { text-shadow: 0 3px 25px #10091224; }
.salon-site .salon-slide-copy h2 em { color: #f3c1d1; }
@supports (background-clip: text) {
  .salon-site .salon-slide-copy h2 em {
    background: linear-gradient(115deg, #fff1df 5%, #ecb1c8 45%, #ffe9d3 72%, #efbccd);
    background-clip: text; -webkit-background-clip: text; color: transparent;
    text-shadow: none;
  }
}
.salon-site .salon-slider-bottom {
  border: 1px solid #e4c1cb59; border-radius: 22px; padding: 17px 22px;
  background: linear-gradient(130deg, #fff3e81c, #261725a8 62%, #fff1e80d);
  box-shadow: inset 0 1px 0 #ffffff29, 0 12px 32px #10081129;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.salon-site .salon-slider-arrow { border-radius: 50%; background: #ffffff0d; }
.salon-site .salon-slider-arrow:hover { background: #ffffff24; }
.salon-site .salon-choice-track { height: 2px; border-radius: 3px; }
.salon-site .salon-choice-track > i { background: linear-gradient(90deg, #d88ba9, #ffe5c4); }

/* Useful shortcuts, with native links so they also work without JavaScript. */
.luxe-explore { margin-top: 28px; margin-bottom: -28px; position: relative; }
.luxe-explore > .eyebrow { color: #805369; font-size: 9px; margin: 0 0 11px 4px; }
.luxe-explore-links {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #dfc3ba; border-radius: 20px; overflow: hidden;
  background: var(--luxe-surface); box-shadow: inset 0 1px 0 #fff, 0 12px 32px #54243c0e;
}
.luxe-explore-links > a { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 76px; padding: 19px 25px; font-size: 14px; color: #563448; }
.luxe-explore-links > a + a { border-left: 1px solid #e0c9c2; }
.luxe-explore-links > a > span { min-width: 0; }
.luxe-explore-links .icon { width: 32px; height: 32px; padding: 8px; border-radius: 50%; border: 1px solid #d6b1a4; background: linear-gradient(135deg, #fffcf3, #e8c5cb); box-shadow: inset 0 1px 0 #fff; }
.luxe-explore-links > a:hover { background: linear-gradient(135deg, #fff9ef, #f0d7dc); }
.luxe-explore-links > a:focus-visible { outline-offset: -5px; border-radius: 16px; }

/* Photographic cards get a polished rim, gentle reflections and richer colour. */
.salon-site .service-card-image {
  border: 1px solid #ffffffd9;
  box-shadow: 0 22px 45px #54243c1c, 0 2px 7px #54243c12;
}
.salon-site .service-card-image::before {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(135deg, #fff6e826, transparent 35%, transparent 65%, #fff5e80f);
  box-shadow: inset 0 0 0 5px #ffffff12;
}
.salon-site .service-card-image img { filter: saturate(.95); }
.salon-site .service-card-image :is(.card-number, .card-arrow) { z-index: 2; }
.salon-site .card-arrow { box-shadow: inset 0 1px 0 #fff, 0 4px 14px #25101c30; }
.salon-site .glow-art { background: radial-gradient(circle at 90% 10%, #fff2cd, transparent 50%), linear-gradient(130deg, #e1b7aa, #f5d4cd 52%, #cb8d9b); }
.salon-site .service-card-caption { padding: 0 9px 14px; }
.salon-site .service-menu-price { color: #705261; }

.salon-site .atelier-favourites {
  background: radial-gradient(ellipse at 90% 5%, #a4628061, transparent 55%),
    linear-gradient(130deg, #271923, #4c293d 52%, #291a26);
  border-block: 1px solid #c39b8c;
  box-shadow: inset 0 1px 0 #fff1df24, inset 0 -1px 0 #fff1df24;
}
.salon-site .atelier-favourites .favourite-list {
  border: 1px solid #d4acb652; border-radius: 24px; padding-inline: 23px;
  background: linear-gradient(135deg, #ffffff12, #fff0e505 55%, #e6b5bd0d);
  box-shadow: inset 0 1px 0 #ffffff26, 0 16px 40px #170d1626;
}
.salon-site .atelier-favourites .favourite-row { border-bottom-color: #dcc0c736; }
.salon-site .atelier-favourites .favourite-row:last-child { border-bottom: 0; }
.salon-site .atelier-favourites .favourite-row:hover { background: #ffffff09; }
.salon-site .atelier-favourites :is(a, button):focus-visible { outline: 2px solid #fff5e6; outline-offset: 4px; }
.salon-site .atelier-favourites .favourite-price { color: #f9ddc8; }
.salon-site .atelier-favourites .round-arrow { border-color: #d1a7b5; background: linear-gradient(145deg, #ffffff19, #ffffff03); }
.salon-site .story-main-photo > img { box-shadow: 0 18px 40px #54243c19; filter: saturate(.92); border: 1px solid #fff9; }
.salon-site .story-small-photo { background: var(--luxe-surface); border: 1px solid #e1c9bf; border-radius: 8px; box-shadow: 0 15px 34px #54243c24; }
.salon-site .brand-strip { border-color: #d6bbb4; }
.salon-site .atelier-testimonial { background: radial-gradient(ellipse at 18% 5%, #fffaf3, transparent 65%), linear-gradient(125deg, #ecd6d3, #f6e9e3 60%, #eecbd7); border-block: 1px solid #e0c3bb; box-shadow: inset 0 1px 0 #ffffffc2; }
.salon-site .gallery-tile { border: 1px solid #fff9; box-shadow: 0 15px 34px #54243c1c; }
.salon-site .gallery-preview .gallery-tile { border-radius: 18px; }
.salon-site .gallery-preview .gallery-tile img { filter: saturate(.94); }

/* The same finish carries through treatments, forms and practical information. */
.salon-site .inner-hero { background: radial-gradient(ellipse at 18% 0%, #fffaf3d9, transparent 75%), #f3e7eb; border-bottom-color: #d6b5af; box-shadow: inset 0 1px 0 #fff; }
.salon-site .inner-hero-rule { height: 2px; width: 75px; background: linear-gradient(90deg, #a96380, #d7a68e, transparent); }
.salon-site .inner-hero-caption { background: linear-gradient(135deg, #714358e6, #30212ceb); border-color: #ebc8b78c; box-shadow: inset 0 1px 0 #fff3; backdrop-filter: blur(10px); }
.salon-site :is(.catalog-card, .journal-card, .values > div, .contact-layout > div:last-child, .booking-page > .booking-form, .search-result-list) {
  background: var(--luxe-surface); border: 1px solid #dfc2b8; border-radius: 24px;
  box-shadow: inset 0 1px 0 #fff, var(--luxe-shadow);
}
.salon-site .catalog-card { padding: 19px 19px 24px; }
.salon-site .catalog-card > img { border: 1px solid #fff; border-radius: 105px 105px 12px 12px; }
.salon-site .catalog-card:nth-child(even) > img { border-radius: 16px; }
.salon-site .catalog-card > .eyebrow { color: #865368; }
.salon-site .catalog-actions { margin-top: auto; }
.salon-site .journal-card { padding: 29px; }
.salon-site .values { border: 0; }
.salon-site .values > div { padding: 27px; }
.salon-site :is(.filter-button, .price-book-link) { background: linear-gradient(135deg, #fffcf8, #f2dfe3); border-color: #cfa4ad; color: #744456; box-shadow: inset 0 1px 0 #fff; }
.salon-site :is(.filter-button.active, .price-book-link:hover) { background: linear-gradient(140deg, #83516c, #402331); border-color: #7f4c64; color: #fffaf7; box-shadow: inset 0 1px 0 #ffffff42, 0 5px 13px #54243c19; }
.salon-site :is(.request-note, .tour-placeholder, .map-panel, .gallery-visit-note) { background: linear-gradient(130deg, #fffaf1, #f5e3e4 58%, #eecbd7); border: 1px solid #dec0b6; border-radius: 20px; box-shadow: inset 0 1px 0 #fff, 0 10px 24px #54243c0a; }
.salon-site .faqs details { margin-top: 12px; padding-inline: 23px; background: var(--luxe-surface); border: 1px solid #dfc6bf; border-radius: 16px; box-shadow: inset 0 1px 0 #fff; }
.salon-site .faqs summary { border-radius: 12px; }
.salon-site .booking-dialog { background: linear-gradient(135deg, #fffef9, #fcf0ed 58%, #f0dbe3); border: 1px solid #f7ded0; border-radius: 27px; box-shadow: inset 0 1px 0 #fff, 0 32px 100px #24111e73; }
.salon-site .booking-dialog::backdrop { background: #28142599; backdrop-filter: blur(8px); }
.salon-site .booking-dialog .dialog-close { background: linear-gradient(140deg, #fffaf2, #eac3d0); border: 1px solid #dab3bf; box-shadow: inset 0 1px 0 #fff; }
.salon-site .booking-form :is(input:not([type=checkbox]):not([type=hidden]), select, textarea),
.salon-site .contact-layout :is(input:not([type=checkbox]):not([type=hidden]), textarea) { background-color: #fffdfa; border-color: #b0879a; border-radius: 10px; box-shadow: inset 0 2px 3px #54243c05, 0 1px 0 #fff; }
.salon-site .form-success { background: linear-gradient(135deg, #fffaf1, #f3dce5); border-color: #d3a8ba; }
.salon-site .hours-table { border-color: #d7bab5; }
.salon-site .closing-cta { background: radial-gradient(ellipse at 12% -20%, #fff3d6c2, transparent 65%), linear-gradient(110deg, #ead0c1, #efc5d4 48%, #d9a6b9); border-block: 1px solid #d6a893; box-shadow: inset 0 1px 0 #fff9; }
.salon-site .closing-spark { color: #ffffff30; text-shadow: 0 1px 0 #a6788733; }
.salon-site .site-footer { background: linear-gradient(135deg, #fffcf8f5, #f6e9e5f5); border-top: 1px solid #fff; }
.salon-site .footer-top a:not(.brand-logo), .salon-site .footer-top > div > p { color: #735365; }
.salon-site .footer-bottom { color: #795b6c; }
.salon-site .mobile-booking-bar { background: linear-gradient(135deg, #fffefbf5, #f6e5e8f5); border-top-color: #d9afa4; box-shadow: inset 0 1px 0 #fff, 0 -8px 28px #54243c14; backdrop-filter: blur(16px); }

@media (max-width: 900px) {
  .luxe-explore-links > a { padding-inline: 18px; font-size: 12px; gap: 10px; }
  .salon-site .salon-slider-bottom { padding-inline: 17px; }
  .salon-site .salon-slider-bottom:has(.salon-slider-controls[hidden]) { display: none; }
  .salon-site .atelier-favourites .favourite-list { padding-inline: 18px; }
}
@media (max-width: 600px) {
  .luxe-explore { margin-top: 21px; margin-bottom: -12px; }
  .luxe-explore > .eyebrow { font-size: 9px; }
  .luxe-explore-links { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 18px; }
  .luxe-explore-links > a { min-height: 69px; padding: 15px; font-size: 12px; }
  .luxe-explore-links > a:nth-child(3) { border-left: 0; }
  .luxe-explore-links > a:nth-child(n+3) { border-top: 1px solid #e0c9c2; }
  .luxe-explore-links .icon { width: 29px; height: 29px; padding: 7px; }
  .salon-site .salon-slider-bottom { padding: 12px; border-radius: 18px; }
  .salon-site .salon-slider-choices { gap: 12px; min-width: 0; }
  .salon-site .salon-slider-choice { flex: 1; min-width: 0; }
  .salon-site .salon-choice-label { max-width: 100%; font-size: 10px; }
  .salon-site .atelier-favourites .favourite-list { padding-inline: 14px; border-radius: 20px; }
  .salon-site .atelier-favourites .favourite-row { grid-template-columns: minmax(0, 1fr) auto 34px; gap: 10px; }
  .salon-site .atelier-favourites .favourite-row h3 { font-size: 24px; }
  .salon-site .atelier-favourites .favourite-price { font-size: 25px; }
  .salon-site .atelier-favourites .round-arrow { width: 34px; height: 34px; }
  .salon-site .catalog-card { padding: 16px 16px 22px; }
  .salon-site .contact-layout > div:last-child { padding: 24px 20px; }
  .salon-site .booking-page > .booking-form { padding: 24px 19px; }
  .salon-site .booking-dialog { border-radius: 21px; }
  .salon-site .faqs details { padding-inline: 17px; }
  .salon-site .values > div { padding: 24px; }
}
@media (hover: none) {
  .salon-site .button:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(.motion-opt-in) .salon-site .button, html:not(.motion-opt-in) .salon-site .header-actions .button { transition: none; }
  html:not(.motion-opt-in) .salon-site .button:hover, html:not(.motion-opt-in) .salon-site .header-actions .button:hover { transform: none; background-position: 115% 0, 0 0; }
}
.motion-paused .salon-site .button, .motion-paused .salon-site .header-actions .button { transition: none; }
.motion-paused .salon-site .button:hover, .motion-paused .salon-site .header-actions .button:hover { transform: none; background-position: 115% 0, 0 0; }
@media (forced-colors: active) {
  .salon-site .salon-slide-copy h2 em { background: none; color: CanvasText; }
  .salon-site :is(.button, .filter-button, .price-book-link, .luxe-explore-links .icon) { border: 1px solid ButtonText; }
}
