/* NYANGA V36: generated by bin/build-css.php, preserve source order. */

/* Source: app.css */
/* NYANGA BEAUTY — karité, ébène, indigo.
   Les photos de coiffures en plein cadre portent l'émotion ; l'interface reste calme :
   filets fins, aucune ombre portée, une seule couleur d'action (indigo).
   Titres en Gloock, texte en Hanken Grotesk 17 px. Contrastes AA minimum, AAA pour le texte courant. */

@font-face { font-family: "Gloock"; src: url("../fonts/gloock-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/hanken-grotesk-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --ebene: #2B1A12;     /* texte (14:1 sur karité) */
  --karite: #F1E2BF;    /* fond */
  --lait: #FBF5E6;      /* surfaces */
  --blanc: #FFFDF7;     /* champs */
  --cacao: #6B3F26;     /* texte secondaire (7,6:1 sur karité) */
  --or: #C8962E;        /* filets, aplats ; jamais en texte sur fond clair */
  --indigo: #23348F;    /* action principale (texte blanc 10:1) */
  --indigo-dk: #18246A;
  --safran: #E2711D;    /* motif wax uniquement */
  --line: #D8C291;      /* filets décoratifs */
  --field: #9C7F4E;     /* contour des champs (3:1 sur blanc) */
  --ok: #1E6A43;
  --danger: #A3241B;

  --display: "Gloock", Georgia, "Times New Roman", serif;
  --body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --r: 8px;
  --r-panel: 14px;
  --wrap: 1240px;
  --gut: clamp(16px, 4.5vw, 48px);
  color-scheme: light;
}

html { font-size: 100%; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  margin: 0; background: var(--karite); color: var(--ebene);
  font: 400 1.0625rem/1.6 var(--body);
  min-height: 100vh; display: flex; flex-direction: column;
}
main { flex: 1; }
img { max-width: 100%; display: block; }
a { color: var(--ebene); text-decoration-color: var(--or); text-decoration-thickness: 1.5px; text-underline-offset: .22em; }
a:hover { color: var(--indigo); text-decoration-color: currentColor; }
:focus-visible { outline: 3px solid var(--indigo); outline-offset: 2px; border-radius: 2px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--ebene); color: var(--lait); padding: 12px 18px; z-index: 40; font-weight: 600; border-radius: var(--r); }
.skip:focus { left: 8px; }
.hp { position: absolute; left: -5000px; }
.wrap { max-width: calc(var(--wrap) + 2 * var(--gut)); margin-inline: auto; padding-inline: var(--gut); width: 100%; }

/* ————— Typographie ————— */
.h1, h1 { font: 400 clamp(2.3rem, 6vw, 3.6rem)/1.04 var(--display); margin: 0 0 .45em; letter-spacing: -.012em; }
.h2 { font: 400 clamp(2rem, 4.6vw, 3.3rem)/1.05 var(--display); margin: 0 0 .55em; letter-spacing: -.01em; }
.h3 { font: 600 1.18rem/1.3 var(--body); margin: 0 0 .7em; }
.lede { font-size: 1.15rem; line-height: 1.55; max-width: 42ch; }
.muted { color: var(--cacao); }
.hint { color: var(--cacao); font-size: .9375rem; margin: .3em 0 0; font-weight: 400; }
small { font-size: .88em; }

/* ————— En-tête ————— */
.top {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 14px var(--gut); max-width: calc(var(--wrap) + 2 * var(--gut)); margin: 0 auto; width: 100%;
}
.lockup { display: inline-flex; flex-direction: column; align-items: flex-start; text-decoration: none; color: var(--ebene); line-height: 1; }
.lockup:hover { color: var(--ebene); }
.lockup-main { font: 400 1.75rem/.9 var(--display); letter-spacing: .02em; }
.lockup-sub { font: 500 .66rem/1 var(--body); letter-spacing: .62em; margin-top: 6px; color: var(--cacao); text-transform: uppercase; }
.nav { display: flex; align-items: center; gap: 2px 18px; flex-wrap: wrap; justify-content: flex-end; }
.nav > a, .nav .linklike { color: var(--ebene); text-decoration: none; font-weight: 600; font-size: .9375rem; letter-spacing: .2em; text-transform: uppercase; padding: 10px 2px; min-height: 44px; display: inline-flex; align-items: center; }
.nav > a:hover, .nav .linklike:hover { color: var(--indigo); }
.nav .nav-cta { border: 1.5px solid var(--ebene); border-radius: 999px; padding: 6px 16px; min-height: 42px; font-weight: 600; }
.nav .nav-cta:hover { background: var(--ebene); color: var(--lait); }
.nav form { margin: 0; }
.langs { display: inline-flex; align-items: center; }
.langs a { display: grid; place-items: center; min-width: 38px; min-height: 44px; text-decoration: none; font-weight: 500; font-size: .9375rem; letter-spacing: .08em; color: var(--cacao); }
.langs a + a { border-left: 1px solid var(--line); }
.langs a[aria-current] { color: var(--ebene); font-weight: 700; text-decoration: underline; text-decoration-color: var(--or); text-decoration-thickness: 2px; text-underline-offset: .4em; }

/* ————— Boutons : une seule couleur d'action ————— */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font: 600 1rem/1.1 var(--body); letter-spacing: .01em; color: #fff; background: var(--indigo);
  border: 1.5px solid var(--indigo); border-radius: var(--r); padding: 14px 24px; min-height: 50px;
  text-decoration: none; cursor: pointer;
}
.btn:hover { color: #fff; background: var(--indigo-dk); border-color: var(--indigo-dk); }
.btn-red { background: var(--indigo); }
.btn-gold, .btn-mango { background: var(--or); border-color: var(--or); color: var(--ebene); }
.btn-gold:hover, .btn-mango:hover { background: #D9A93F; border-color: #D9A93F; color: var(--ebene); }
.btn-green, .btn-wa { background: var(--ok); border-color: var(--ok); }
.btn-green:hover, .btn-wa:hover { background: #154F31; border-color: #154F31; }
.wa-dot { width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.3); }
.btn-ghost { background: transparent; color: var(--ebene); border-color: var(--ebene); }
.btn-ghost:hover { background: var(--ebene); color: var(--lait); border-color: var(--ebene); }
.btn-danger { background: var(--danger); border-color: var(--danger); }
.btn-danger:hover { background: #7E1A13; border-color: #7E1A13; }
.btn-small { padding: 9px 16px; min-height: 44px; font-size: .95rem; }
.btn-block { width: 100%; }
.linklike { background: none; border: 0; padding: 0; font: inherit; color: var(--ebene); font-weight: 500; text-decoration: underline; text-decoration-color: var(--or); text-decoration-thickness: 1.5px; text-underline-offset: .22em; cursor: pointer; }

/* ————— Messages ————— */
.flash {
  max-width: var(--wrap); width: calc(100% - 2 * var(--gut)); margin: 4px auto 16px; padding: 14px 18px;
  background: var(--lait); border: 1px solid var(--line); border-left: 4px solid var(--ok); border-radius: var(--r);
  font-weight: 500;
}
.flash-error { border-left-color: var(--danger); }
.flash-info { border-left-color: var(--or); }
.flash-icon { flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--danger); color: #fff; font: 700 1rem/1 var(--body); }
.preview-banner { background: var(--or); color: var(--ebene); text-align: center; padding: 12px var(--gut); margin: 0; font-weight: 600; }

/* ————— Accueil : « cinéma au scroll » —————
   La scène reste fixée pendant qu'on défile (hauteur 170svh, scène collée 100svh).
   --p (0 → 1, posé par motion/cine.js) zoome la photo, fond vers le 2e plan et fait monter NYANGA.
   Mode léger / mouvements réduits : une seule photo, hauteur normale, rien ne bouge. */
.kicker { margin: 0 0 14px; font: 600 .74rem/1.2 var(--body); letter-spacing: .32em; text-transform: uppercase; color: var(--or); }
.kicker-dark { color: var(--cacao); }
.section-head .kicker { flex-basis: 100%; margin-bottom: 6px; }

.cine { --p: 0; position: relative; background: var(--ebene); color: var(--lait); }
.cine.is-live { height: 170svh; }
.cine-stage { position: sticky; top: 0; height: 100svh; min-height: 560px; overflow: hidden; display: grid; align-items: end; }
.cine-media, .cine-media img, .cine-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cine-a { object-position: 50% 45%; transform: scale(calc(1.16 - .16 * var(--p))); opacity: calc(1 - var(--p) * 1.6); will-change: transform, opacity; }
.cine-b { object-position: 50% 40%; transform: scale(calc(1.25 - .2 * var(--p))); }
.cine-video { z-index: 1; opacity: calc(1 - var(--p) * 1.6); }
.cine-media::after {   /* voile : lisibilité du texte sur n'importe quelle photo */
  content: ""; position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(180deg, rgba(20, 12, 8, .55) 0%, rgba(20, 12, 8, .15) 30%, rgba(20, 12, 8, .55) 62%, rgba(20, 12, 8, .9) 100%);
}
.cine-copy {
  position: relative; z-index: 3; width: 100%; max-width: calc(var(--wrap) + 2 * var(--gut)); margin: 0 auto;
  padding: 96px var(--gut) clamp(92px, 21vw, 260px);
  transform: translateY(calc(var(--p) * -6vh));
}
.cine h1 { color: var(--lait); font-size: clamp(2.7rem, 11vw, 6.6rem); line-height: .96; margin: 0 0 .32em; max-width: 12ch; letter-spacing: -.02em; }
.cine .lede { color: #EBDDBB; margin: 0 0 24px; max-width: 40ch; }
.cine .search { max-width: 640px; box-shadow: 0 18px 50px rgba(0, 0, 0, .35); border-color: transparent; }
.cine datalist { display: none; }
.cine-word {
  position: absolute; z-index: 2; left: 0; right: 0; bottom: -.17em; margin: 0; text-align: center; pointer-events: none;
  font: 400 24vw/0.8 var(--display); letter-spacing: -.035em; color: var(--lait); opacity: .92; white-space: nowrap;
  transform: translateY(calc((1 - var(--p)) * 16%)) scale(calc(.94 + .06 * var(--p)));
  transform-origin: 50% 100%;
}
.hero-where { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 0 4px; font-size: .95rem; }
.hero-where a { color: #EBDDBB; text-decoration: none; padding: 8px 6px; min-height: 40px; display: inline-flex; align-items: center; }
.hero-where a:not(:last-child)::after { content: "·"; margin-left: 10px; color: var(--or); }
.hero-where a:hover { color: #fff; }
.hero-where .hero-near { color: #fff; font-weight: 600; gap: 7px; }
.cine :focus-visible { outline-color: var(--or); }

/* Titre en deux voix (sans fine + serif) */
.cine h1 { max-width: none; }
.h-sans { display: block; font: 300 clamp(1.9rem, 7.4vw, 4.4rem)/1.02 var(--body); letter-spacing: -.035em; }
.h-serif { display: block; font: 400 clamp(3.3rem, 13vw, 8rem)/.9 var(--display); letter-spacing: -.03em; }

.cine-meta {
  display: none; position: absolute; z-index: 3; top: 96px; right: var(--gut); margin: 0; gap: 22px;
  font: 500 .72rem/1 ui-monospace, "SF Mono", Menlo, Consolas, monospace; letter-spacing: .14em; text-transform: uppercase; color: #CDBB97;
}
.cine-meta span + span { padding-left: 22px; border-left: 1px solid rgba(241, 226, 191, .25); }

/* Recherche de l'accueil : quoi, où, rayon */
.cine .search-hero { grid-template-columns: 1fr 1fr; }
.cine .search-hero .field:nth-of-type(2) { border-top: 0; border-left: 1px solid var(--line); border-radius: 0; }
.cine .search-hero .field-radius { border-left: 0 !important; border-top: 1px solid var(--line); }
.cine .search-hero .btn { margin: 6px 0 0 6px; width: auto; align-self: stretch; }
.search-hero select { appearance: none; background: transparent; padding-right: 0; }

/* Navigation en pilule (inspirée des sites « studio ») */
.top { position: relative; }
.nav-pill { display: inline-flex; align-items: center; gap: 2px; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: rgba(251, 245, 230, .7); }
.nav .nav-pill a { padding: 8px 14px; min-height: 36px; border-radius: 999px; color: var(--ebene); text-decoration: none; font-weight: 600; font-size: .9375rem; letter-spacing: .16em; text-transform: uppercase; display: inline-flex; align-items: center; }
.nav .nav-pill a:hover { background: var(--ebene); color: var(--lait); }
.page-home .nav-pill { background: rgba(255, 255, 255, .07); border-color: rgba(241, 226, 191, .22); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.page-home .nav .nav-pill a { color: var(--lait); }
.page-home .nav .nav-pill a:hover { background: var(--lait); color: var(--ebene); }

.near-far { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.near-far p { margin: 0; }

/* L'en-tête se pose sur la scène, en clair */
.page-home .top { position: absolute; left: 0; right: 0; z-index: 30; }
.page-home .lockup, .page-home .lockup:hover, .page-home .nav > a, .page-home .nav .linklike { color: var(--lait); }
.page-home .lockup-sub { color: var(--or); }
.page-home .nav .nav-cta { border-color: rgba(251, 245, 230, .7); }
.page-home .nav .nav-cta:hover { background: var(--lait); color: var(--ebene); }
.page-home .langs a { color: #CDBB97; }
.page-home .langs a[aria-current] { color: var(--lait); }
.page-home .langs a + a { border-color: rgba(251, 245, 230, .25); }
.page-home .top :focus-visible { outline-color: var(--or); }

/* « Comment ça marche » : la photo reste fixe, les étapes défilent à côté */
.story { background: var(--ebene); color: var(--lait); display: grid; }
.story-media { position: sticky; top: 0; height: 46svh; overflow: hidden; z-index: 3; }   /* téléphone : l'image reste en haut, le texte passe dessous */
.story-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity .7s ease, transform 1.2s cubic-bezier(.22, 1, .36, 1); }
.story-img.is-on { opacity: 1; transform: none; }
.story-media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(to top, var(--ebene), transparent); }
.story-text { position: relative; z-index: 1; padding: 8px var(--gut) 72px; }
.story-head { padding: 24px 0 8px; }
.story-head .h2 { color: var(--lait); max-width: 16ch; }
.story-steps { list-style: none; margin: 0; padding: 0; }
.story-step { min-height: 46svh; display: flex; flex-direction: column; justify-content: center; padding: 28px 0; border-top: 1px solid rgba(241, 226, 191, .14); opacity: .45; transition: opacity .4s ease; }
.story-step.is-on { opacity: 1; }
.story-num { font: 400 3.2rem/1 var(--display); color: var(--or); margin-bottom: 10px; }
.story-step h3 { font: 400 2rem/1.05 var(--display); margin: 0 0 10px; color: var(--lait); }
.story-step p { margin: 0; max-width: 36ch; color: #E6D6B3; font-size: 1.08rem; }
html.lite .story-step, .story:not(:has(.is-on)) .story-step { opacity: 1; }

.search {
  display: grid; grid-template-columns: 1fr; background: var(--lait);
  border: 1px solid var(--line); border-radius: var(--r-panel); padding: 6px;
}
.search .field { margin: 0; padding: 8px 12px 2px; border-radius: var(--r); }
.search .field + .field { border-top: 1px solid var(--line); border-radius: 0; }
.search .field span { font-size: .9375rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--cacao); }
.search input, .search select { border: 0 !important; padding: 2px 0 8px; background: transparent; min-height: 42px; box-shadow: none !important; }
.search input:focus-visible, .search select:focus-visible { outline: none; }
.search .field:focus-within { box-shadow: inset 0 -2px 0 var(--indigo); }
.search .btn { width: 100%; margin-top: 6px; }

/* Choisis ton style : le nuancier de mèches */
.styles { padding: 64px 0 24px; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 6px 24px; flex-wrap: wrap; margin-bottom: 22px; }
.section-head .h2 { margin: 0; }
.section-head p { margin: 0; flex-basis: 100%; }
.section-head > a { font-weight: 600; }
.strips {
  list-style: none; margin: 0; padding: 4px var(--gut) 18px;
  display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: 10px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gut);
}
.strips li { scroll-snap-align: start; }
.strip {
  position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; isolation: isolate;
  border-radius: 999px 999px var(--r) var(--r); background: var(--cacao); color: var(--lait); text-decoration: none;
}
.strip::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(43, 26, 18, .85) 0%, rgba(43, 26, 18, 0) 48%); z-index: 1; }
.strip img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.strip-name { position: absolute; left: 18px; right: 18px; bottom: 40px; z-index: 2; font: 400 1.75rem/1.02 var(--display); }
.strip-count { position: absolute; left: 18px; bottom: 16px; z-index: 2; font-size: .9375rem; font-weight: 500; color: #EBDDBB; }
.strip:hover { color: var(--lait); }
.strip:focus-visible { outline-offset: 3px; }

/* Où que tu sois : les pays, en liste éditoriale */
.where { padding-block: 56px 16px; }
.countries { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--ebene); }
.countries li { border-bottom: 1px solid var(--line); }
.country {
  position: relative; display: grid; gap: 2px; padding: 18px 44px 18px 0; text-decoration: none; color: var(--ebene);
}
.country::after { content: "→"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); color: var(--cacao); font-size: 1.2rem; transition: transform .2s ease; }
.country:hover { color: var(--ebene); }
.country:hover::after { transform: translate(4px, -50%); color: var(--indigo); }
.country-name { font: 400 1.65rem/1.1 var(--display); }
.country:hover .country-name { color: var(--indigo); }
.country-cities { color: var(--cacao); }
.country-meta { font-size: .9375rem; font-weight: 500; color: var(--cacao); }

/* Talents à la une */
.talents { padding-block: 56px 16px; }
.talent { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 26px 0 30px; border-top: 1px solid var(--line); }
.talent:last-of-type { border-bottom: 1px solid var(--line); }
.talent-id { display: flex; gap: 18px; align-items: flex-start; }
.arch.arch-sm { width: 84px; flex: none; }
.talent-id > div { flex: 1; min-width: 0; }
.talent-name { font: 400 1.75rem/1.08 var(--display); margin: 0 0 4px; }
.talent-name a { text-decoration: none; }
.talent-name a:hover { text-decoration: underline; text-decoration-thickness: 1.5px; }
.talent-meta { margin: 0; color: var(--cacao); display: flex; flex-wrap: wrap; gap: 2px 14px; }
.talent-tags { margin: 6px 0 0; font-weight: 500; }
.talent-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 14px 0 0; font-weight: 600; }
.talent-works { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.talent-works img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); background: var(--line); }
.talent-works li:first-child img { border-radius: 50% 50% var(--r) var(--r) / 16% 16% var(--r) var(--r); }
.rating { font-weight: 600; color: var(--ebene); }
.rating > span[aria-hidden] { color: var(--cacao); }

/* Rejoins NYANGA */
.join { background: var(--ebene); color: var(--lait); display: grid; position: relative; }
.join::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 14px; z-index: 2;
  background: radial-gradient(circle at 7px 7px, var(--or) 2.6px, transparent 3.2px) 0 0 / 28px 14px,
              radial-gradient(circle at 21px 7px, var(--safran) 2.6px, transparent 3.2px) 0 0 / 28px 14px,
              var(--indigo);
}
.join-photo { min-height: 300px; position: relative; background: var(--cacao); }
.join-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.join-copy { padding: 52px var(--gut) 60px; }
.join .h2 { color: var(--lait); }
.join p { max-width: 44ch; font-size: 1.1rem; color: #EBDDBB; }
.join-points { padding: 0; margin: 0 0 32px; list-style: none; display: grid; gap: 12px; }
.join-points li { padding-left: 28px; position: relative; }
.join-points li::before { content: ""; position: absolute; left: 0; top: .55em; width: 14px; height: 1.5px; background: var(--or); }
.join a:not(.btn) { color: var(--lait); }
.join :focus-visible { outline-color: var(--or); }

/* ————— Mise en page générale ————— */
.section, .profile { max-width: calc(var(--wrap) + 2 * var(--gut)); margin: 0 auto; padding: 28px var(--gut) 64px; width: 100%; }
.narrow { max-width: 580px; margin: 0 auto; padding: 36px var(--gut) 72px; width: 100%; }
.center-block { text-align: center; }
.center-block .lede { margin-inline: auto; }
.two { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start; }
.panel { background: var(--lait); border-radius: var(--r-panel); padding: 24px; border: 1px solid var(--line); }
.panel-danger { border-color: var(--danger); }
.block { margin-bottom: 44px; }
.empty { padding: 26px; border: 1px dashed var(--field); border-radius: var(--r-panel); background: var(--lait); }
.empty p { margin: 0 0 .4em; }

/* Résultats de recherche */
.grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
.card-link { display: flex; flex-direction: column; height: 100%; color: var(--ebene); text-decoration: none; }
.card-link:hover { color: var(--ebene); }
.card-link:hover .card-name { color: var(--indigo); }
.card-media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--line); border-radius: 50% 50% var(--r) var(--r) / 16% 16% var(--r) var(--r); }
.card-link .arch { border-radius: 50% 50% var(--r) var(--r) / 16% 16% var(--r) var(--r); }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.card-link:hover .card-media img { transform: scale(1.04); }
.card-body { display: flex; flex-direction: column; gap: 2px; padding: 12px 2px 0; flex: 1; }
.card-name { font: 400 1.35rem/1.1 var(--display); }
.card-city { color: var(--cacao); font-size: .9375rem; }
.card-tags { font-size: .9375rem; font-weight: 500; }
.card-foot { display: flex; justify-content: space-between; gap: 6px; margin-top: auto; padding-top: 8px; font-weight: 600; font-size: .9375rem; flex-wrap: wrap; border-top: 1px solid var(--line); margin-top: 10px; }
.count { font-weight: 600; color: var(--cacao); }

/* Portrait : miroir de salon (arche), initiales toujours dessous */
.arch {
  position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; width: 100%;
  border-radius: 999px 999px var(--r) var(--r); overflow: hidden; background: var(--ebene); isolation: isolate;
}
.arch::after { content: ""; position: absolute; inset: 5px; border-radius: inherit; border: 1.5px solid var(--or); z-index: 2; pointer-events: none; }
.arch-initials { font: 400 2.4rem/1 var(--display); color: var(--or); }
.arch-sm .arch-initials { font-size: 1.5rem; }
.arch img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.arch-lg { width: 150px; flex: none; }

/* Fiche pro */
.profile-head { display: flex; flex-direction: column; gap: 20px; margin-bottom: 40px; }
.profile-head.has-cover { display: block; }
.profile-cover { margin: -28px calc(-1 * var(--gut)) 0; }
.profile-cover img { width: 100%; height: clamp(300px, 52vh, 560px); object-fit: cover; object-position: 50% 35%; }
.profile-id { display: flex; flex-direction: column; gap: 16px; }
.has-cover .profile-id { position: relative; margin-top: 16px; }
.has-cover .arch-lg { width: 112px; margin-top: -84px; box-shadow: 0 0 0 5px var(--karite); }
.profile-head .h1 { font-size: clamp(2.5rem, 7vw, 4.4rem); margin-bottom: .1em; }
.profile-meta { color: var(--cacao); font-size: 1.05rem; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.contact { display: flex; flex-wrap: wrap; gap: 10px; }
.price-from { color: var(--ebene); font-weight: 600; }
.profile-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: start; }
.bio { max-width: 62ch; }
.works { margin-bottom: 44px; }
.works-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.works-grid img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); background: var(--line); }
.works-grid-edit li { display: grid; gap: 6px; }
.works-panel { margin-top: 22px; display: grid; gap: 16px; }
.works-panel .h3, .works-panel > p { margin: 0; }

/* Tarifs : nom, pointillés, prix */
.menu { list-style: none; padding: 0; margin: 0; }
.menu li { display: flex; align-items: baseline; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.menu-name { font-weight: 600; display: flex; flex-direction: column; }
.menu-name small { font-weight: 400; color: var(--cacao); }
.menu-leader { flex: 1; border-bottom: 1.5px dotted var(--or); min-width: 24px; transform: translateY(-6px); }
.menu-price { font: 400 1.25rem/1 var(--display); white-space: nowrap; }
.menu-edit form { margin: 0; flex-basis: 100%; text-align: right; }
.hours { margin: 0; display: grid; max-width: 380px; }
.hours div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.hours dt { font-weight: 600; }
.hours dd { margin: 0; font-variant-numeric: tabular-nums; }
.hours .closed { color: var(--cacao); }

.booking { background: var(--lait); border-radius: var(--r-panel); padding: 24px; border: 1px solid var(--line); scroll-margin-top: 16px; }
.booking-title { font: 400 1.6rem/1.1 var(--display); }
.reviews { list-style: none; padding: 0; margin: 0 0 16px; display: grid; }
.reviews li { padding: 16px 0; border-bottom: 1px solid var(--line); }
.reviews p { margin: 0 0 .4em; }
.review-stars { color: var(--cacao); letter-spacing: .12em; }
.report-link { text-align: right; font-size: .9375rem; }
.disclose summary { cursor: pointer; font-weight: 600; padding: 10px 0; min-height: 44px; }
.disclose[open] summary { margin-bottom: 12px; }

/* ————— Formulaires ————— */
.form { display: grid; gap: 16px; }
.field { display: grid; gap: 6px; margin: 0; }
.field > span { font-weight: 600; }
.field small { font-weight: 400; color: var(--cacao); }
input, select, textarea {
  font: inherit; color: var(--ebene); width: 100%; min-height: 50px;
  padding: 12px 14px; border-radius: var(--r); border: 1.5px solid var(--field); background: var(--blanc);
}
::placeholder { color: #8A6C4F; opacity: 1; }
textarea { resize: vertical; min-height: 0; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--indigo); outline-offset: 1px; border-color: var(--indigo); }
input[type="checkbox"], input[type="radio"] { width: 22px; height: 22px; min-height: 0; accent-color: var(--indigo); flex: none; margin: 2px 0 0; }
input[type="file"] { padding: 10px; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.check { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.check-strong { font-weight: 600; padding: 14px; background: var(--karite); border-radius: var(--r); }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
legend { font-weight: 600; margin-bottom: 8px; padding: 0; }
.choices { display: grid; gap: 12px; }
.alt { margin-top: 20px; text-align: center; }

.rating-input { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; flex-wrap: wrap; }
.rating-input legend { width: 100%; }
.rating-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rating-input label { cursor: pointer; font-size: 2rem; line-height: 1; color: var(--line); min-width: 44px; min-height: 44px; display: grid; place-items: center; }
.rating-input label::before { content: "★"; }
.rating-input input:checked ~ label, .rating-input label:hover, .rating-input label:hover ~ label { color: var(--or); }
.rating-input input:focus-visible + label { outline: 3px solid var(--indigo); border-radius: 4px; }

/* Jours et créneaux */
.days-row { display: grid; grid-auto-flow: column; grid-auto-columns: 64px; gap: 8px; overflow-x: auto; padding: 4px 4px 10px; scroll-snap-type: x proximity; }
.day { position: relative; display: grid; justify-items: center; gap: 1px; padding: 8px 4px; border: 1px solid var(--line); border-radius: var(--r); background: var(--blanc); cursor: pointer; scroll-snap-align: start; }
.day input { position: absolute; opacity: 0; inset: 0; margin: 0; width: 100%; height: 100%; cursor: pointer; }
.day-dow { font-size: .9375rem; font-weight: 600; color: var(--cacao); text-transform: uppercase; letter-spacing: .04em; }
.day-num { font: 400 1.5rem/1.1 var(--display); }
.day-month { font-size: .9375rem; color: var(--cacao); }
.day:hover { border-color: var(--cacao); }
.day:has(input:checked) { background: var(--ebene); border-color: var(--ebene); color: var(--lait); }
.day:has(input:checked) .day-dow, .day:has(input:checked) .day-month { color: var(--or); }
.day:has(input:focus-visible) { outline: 3px solid var(--indigo); outline-offset: 2px; }
.day.is-closed { opacity: .55; cursor: not-allowed; background: transparent; border-style: dashed; }
.day.is-closed input { cursor: not-allowed; }
.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)); gap: 8px; min-height: 50px; border-radius: var(--r); }
.slot-grid .time-fallback { grid-column: 1 / -1; }
.slot { position: relative; display: grid; place-items: center; min-height: 46px; border: 1px solid var(--line); border-radius: var(--r); background: var(--blanc); font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer; }
.slot:hover { border-color: var(--cacao); }
.slot input { position: absolute; inset: 0; opacity: 0; margin: 0; width: 100%; height: 100%; cursor: pointer; }
.slot:has(input:checked) { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.slot:has(input:focus-visible) { outline: 3px solid var(--indigo); outline-offset: 2px; }
.slot.is-taken { color: #8A6C4F; background: transparent; border-style: dashed; text-decoration: line-through; cursor: not-allowed; }
.slot.is-taken input { cursor: not-allowed; }
.slot-note { grid-column: 1 / -1; margin: 0; color: var(--cacao); }
.recap { margin: 0; padding: 12px 14px; border-radius: var(--r); background: var(--karite); font-weight: 600; }

/* Barre « Réserver » collée en bas sur mobile */
.sticky-book {
  position: fixed; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); z-index: 15;
  display: flex; justify-content: center; align-items: center; min-height: 56px; border-radius: var(--r);
  background: var(--indigo); color: #fff; font-weight: 600; font-size: 1.05rem; text-decoration: none;
  box-shadow: 0 8px 24px rgba(43, 26, 18, .25);
}
.sticky-book:hover { color: #fff; background: var(--indigo-dk); }
body:has(.sticky-book) main { padding-bottom: 84px; }

/* Recherche : pastilles des styles */
.pills { display: flex; gap: 8px; overflow-x: auto; padding: 4px 4px 10px; margin-bottom: 14px; scrollbar-width: none; }
.pills::-webkit-scrollbar, .strips::-webkit-scrollbar, .days-row::-webkit-scrollbar { display: none; }
.strips, .days-row { scrollbar-width: none; }
.pill { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 4px 16px 4px 4px; min-height: 46px; border-radius: 999px; border: 1px solid var(--line); background: var(--lait); color: var(--ebene); text-decoration: none; font-weight: 500; }
.pill img, .pill-all { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: var(--cacao); flex: none; }
.pill-all { display: inline-block; background: conic-gradient(var(--or) 0 33%, var(--indigo) 0 66%, var(--cacao) 0); }
.pill:hover { border-color: var(--cacao); color: var(--ebene); }
.pill.is-on { background: var(--ebene); border-color: var(--ebene); color: var(--lait); }
.results:focus { outline: none; }
.search-inline { margin: 6px 0 24px; }

/* Après une demande : prévenir la pro en un message */
.sent {
  max-width: var(--wrap); width: calc(100% - 2 * var(--gut)); margin: 0 auto 18px; padding: 18px 20px;
  background: var(--lait); border: 1px solid var(--line); border-left: 4px solid var(--ok); border-radius: var(--r);
  display: grid; gap: 10px; justify-items: start;
}
.sent .h3, .sent p { margin: 0; }
.sent + .profile .profile-cover { margin-top: 0; }
.verified { display: inline-flex; align-items: center; gap: 5px; margin-left: 6px; font-size: .9375rem; font-weight: 600; color: var(--ok); }
.verified::before { content: "✓"; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--ok); color: #fff; font-size: .9375rem; }
.booking-item.is-just { border-color: var(--ok); box-shadow: 0 0 0 2px rgba(30, 106, 67, .18); }

/* Autour de moi */
.near { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: -10px 0 22px; }
.near-btn {
  display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 8px 18px 8px 14px; cursor: pointer;
  font: 600 1rem/1 var(--body); color: var(--ebene); background: var(--lait); border: 1.5px solid var(--ebene); border-radius: 999px;
}
.near-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.near-btn svg circle:first-child { fill: currentColor; stroke: none; }
.near-btn:hover { background: var(--ebene); color: var(--lait); }
.near-btn[aria-pressed="true"] { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.near-status { margin: 0; font-size: .9375rem; color: var(--cacao); flex: 1 1 260px; }
.near-status.is-error { color: var(--danger); font-weight: 600; }
.near-far { margin: -4px 0 18px; padding: 10px 14px; background: var(--lait); border-left: 4px solid var(--or); border-radius: var(--r); }
.card-km { display: inline-flex; align-items: center; gap: 5px; font-size: .9375rem; font-weight: 600; color: var(--indigo); }
.card-km svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.hero-near svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.hero-near svg circle:first-child { fill: currentColor; stroke: none; }
.locate { display: grid; gap: 8px; padding: 14px 16px; background: var(--karite); border-radius: var(--r); }
.locate legend { float: left; width: 100%; margin: 0; }
.locate-status { margin: 0; font-weight: 500; }
.locate-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0; }
.locate-actions:empty { display: none; }

/* Espace pro */
.subnav { display: flex; gap: 4px; flex-wrap: wrap; margin: -6px 0 28px; border-bottom: 1px solid var(--line); }
.subnav a { padding: 10px 14px; min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; color: var(--cacao); font-weight: 500; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.subnav a:hover { color: var(--ebene); }
.subnav a[aria-current] { color: var(--ebene); border-bottom-color: var(--indigo); font-weight: 600; }
.tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.tabs a { padding: 8px 16px; min-height: 44px; display: inline-flex; align-items: center; border-radius: 999px; text-decoration: none; color: var(--ebene); font-weight: 500; border: 1px solid var(--line); background: var(--lait); }
.tabs a:hover { border-color: var(--cacao); }
.tabs a[aria-current] { background: var(--ebene); border-color: var(--ebene); color: var(--lait); }
.status { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; margin: 0 0 6px; }
.status::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--cacao); }
.status-wait::before { background: var(--or); }
.list { padding-left: 20px; margin: 0 0 12px; }
.list li { margin-bottom: 6px; }
.profile-edit { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start; }
.portrait-panel { display: grid; gap: 16px; }
.portrait-panel .arch { width: min(200px, 100%); }
.portrait-panel form { margin: 0; }

.gauge { display: grid; gap: 20px; margin-bottom: 24px; align-items: center; }
.gauge-steps { list-style: none; counter-reset: g; padding: 0; margin: 0 0 20px; display: grid; gap: 10px; }
.gauge-steps li { counter-increment: g; display: flex; gap: 12px; align-items: center; }
.gauge-steps li::before {
  content: counter(g); flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%;
  border: 1.5px solid var(--or); font: 400 1rem/1 var(--display); color: var(--cacao); background: var(--blanc);
}
.gauge-steps li.is-done::before { content: "✓"; font-family: var(--body); background: var(--ok); border-color: var(--ok); color: #fff; }
.gauge-steps a { color: var(--ebene); text-decoration: none; display: flex; flex-wrap: wrap; gap: 0 8px; }
.gauge-steps a span { color: var(--cacao); }
.gauge-steps a:hover strong { text-decoration: underline; text-decoration-color: var(--or); }
.gauge-braid { position: relative; height: 260px; display: grid; place-items: center; border-radius: var(--r-panel); background: radial-gradient(ellipse at 50% 40%, var(--blanc) 0%, var(--karite) 78%); overflow: hidden; }
.gauge-braid canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.gauge-braid.has-3d .gauge-fallback { display: none; }
.gauge-fallback { width: 120px; height: 120px; border-radius: 26px; }

.hours-form { display: grid; gap: 4px; max-width: 660px; }
.hours-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; align-items: end; padding: 12px 0; border-bottom: 1px solid var(--line); }
.hours-day { grid-column: 1 / -1; font-weight: 600; }
.hours-row.is-off .field { opacity: .45; }

.bookings { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.booking-item { display: grid; grid-template-columns: 1fr; gap: 8px; background: var(--lait); border: 1px solid var(--line); border-left: 4px solid var(--or); border-radius: var(--r); padding: 16px 18px; }
.booking-accepted { border-left-color: var(--ok); }
.booking-declined, .booking-cancelled { border-left-color: var(--line); opacity: .8; }
.booking-when { font: 400 1.3rem/1.15 var(--display); display: flex; flex-direction: column; }
.booking-when small { font: 400 .88rem var(--body); color: var(--cacao); }
.booking-what { display: grid; gap: 2px; }
.booking-what p { margin: 4px 0 0; }
.booking-actions { display: flex; gap: 10px; margin: 0; flex-wrap: wrap; }
.tag { justify-self: start; font-size: .9375rem; font-weight: 600; background: var(--karite); padding: 2px 10px; border-radius: 999px; margin-top: 4px; }

/* Admin */
.mod { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.mod li { display: flex; flex-direction: column; gap: 14px; background: var(--lait); border: 1px solid var(--line); border-radius: var(--r); padding: 16px 18px; }
.mod p { margin: .4em 0 0; }
.actions { display: flex; gap: 10px; align-items: flex-start; }
.table-wrap { overflow-x: auto; background: var(--lait); border-radius: var(--r); border: 1px solid var(--line); }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table th { font-size: .9375rem; color: var(--cacao); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.table form { margin: 0; }

.prose p, .prose li { max-width: 66ch; }
.prose .h3 { margin-top: 2em; }
.draft { background: var(--lait); border-left: 4px solid var(--or); padding: 12px 16px; border-radius: var(--r); font-weight: 500; }

/* ————— Pied de page ————— */
.foot { background: var(--ebene); color: #E6D6B3; margin-top: 64px; }
main:has(> .join:last-child) + .foot { margin-top: 0; }
/* Liseré wax : pastilles or et safran sur indigo */
.wax-band {
  height: 14px;
  background: radial-gradient(circle at 7px 7px, var(--or) 2.6px, transparent 3.2px) 0 0 / 28px 14px,
              radial-gradient(circle at 21px 7px, var(--safran) 2.6px, transparent 3.2px) 0 0 / 28px 14px,
              var(--indigo);
}
main:has(> .join:last-child) + .foot .wax-band { display: none; }
.foot-inner { max-width: calc(var(--wrap) + 2 * var(--gut)); margin: 0 auto; padding: 44px var(--gut) 52px; display: grid; gap: 32px; }
.foot p { max-width: 38ch; }
.foot-countries { display: flex; flex-wrap: wrap; gap: 6px; }
.foot-countries span { border: 1px solid rgba(241, 226, 191, .3); padding: 2px 12px; border-radius: 999px; font-size: .9375rem; }
.foot-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.foot-links a { color: var(--lait); display: inline-block; padding: 7px 0; text-decoration-color: rgba(200, 150, 46, .6); }
.foot-links a:hover { color: var(--or); }
.foot :focus-visible { outline-color: var(--or); }
.lockup-foot { color: var(--lait); }
.lockup-foot .lockup-sub { color: var(--or); }
.foot-net { display: inline-flex; align-items: center; gap: 8px; font-size: .9375rem; color: #CDBB97; }
.foot-net::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--or); }

/* Invitation à installer la PWA */
.install {
  position: fixed; left: 50%; bottom: max(16px, env(safe-area-inset-bottom)); transform: translateX(-50%);
  width: min(540px, calc(100% - 32px)); display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: var(--lait); border: 1px solid var(--line); border-radius: var(--r-panel); padding: 12px 16px; z-index: 20;
  box-shadow: 0 12px 32px rgba(43, 26, 18, .2);
}
.install p { margin: 0; flex: 1; font-weight: 600; min-width: 180px; }

/* Connexion lente : même affichage, sans mouvement (voir motion.css) */
html.lite .card-media img, html.lite .card-link:hover .card-media img { transform: none; }

/* ————— Tablette ————— */
@media (min-width: 640px) {
  .grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 34px 22px; }
  .two { grid-template-columns: 1fr 1fr; }
  .works-grid { grid-template-columns: repeat(3, 1fr); }
  .search { grid-template-columns: 1fr 1fr auto; align-items: stretch; }
  .search .field + .field { border-top: 0; border-left: 1px solid var(--line); }
  .search .btn { width: auto; margin: 0; padding-inline: 28px; }
  .search-inline { grid-template-columns: 1fr 1fr 1fr auto; }
  .booking-item { grid-template-columns: 200px minmax(0, 1fr) auto; gap: 20px; align-items: center; }
  .mod li { flex-direction: row; justify-content: space-between; }
  .hours-row { grid-template-columns: 170px 1fr 1fr; }
  .hours-day { grid-column: auto; align-self: center; }
  .foot-inner { grid-template-columns: 1.4fr 1fr; }
  .countries { grid-template-columns: repeat(2, 1fr); column-gap: 32px; border-top: 0; }
  .countries li { border-top: 1px solid var(--ebene); border-bottom: 0; }
  .gauge { grid-template-columns: minmax(0, 1fr) 280px; }
  .gauge-braid { height: 320px; }
  .talent-works { gap: 10px; }
}

/* ————— Ordinateur ————— */
@media (min-width: 900px) {

  .cine-copy { padding-bottom: clamp(150px, 19vw, 300px); }
  .cine-copy > * { max-width: 640px; }
  .cine-copy > .search-hero { max-width: 760px; }
  .cine-meta { display: flex; }
  .cine .search-hero { grid-template-columns: 1.2fr 1.2fr .8fr auto; }
  .cine .search-hero .field + .field { border-top: 0; border-left: 1px solid var(--line); }
  .cine .search-hero .field-radius { border-left: 1px solid var(--line) !important; border-top: 0; }
  .cine .search-hero .btn { margin: 0; align-self: stretch; }
  .story { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .story-media { height: 100vh; z-index: 1; }
  .story-media::after { display: none; }
  .story-text { padding: 0 clamp(32px, 6vw, 96px) 12vh; }
  .story-head { padding: 18vh 0 4vh; }
  .story-step { min-height: 64vh; }
  .story-step h3 { font-size: 2.6rem; }
  .styles { padding-top: 96px; }
  .strips {
    display: flex; gap: 10px; overflow: visible; height: clamp(440px, 64vh, 640px);
    max-width: calc(var(--wrap) + 2 * var(--gut)); margin: 0 auto; padding-bottom: 0;
  }
  .strips li { flex: 1 1 0; min-width: 0; transition: flex-grow .6s cubic-bezier(.22, 1, .36, 1); }
  .strips:not(:hover):not(:focus-within) li:first-child, .strips li:hover, .strips li:focus-within { flex-grow: 5; }
  .strip { aspect-ratio: auto; height: 100%; }
  .strip-name { writing-mode: vertical-rl; transform: rotate(180deg); left: 50%; right: auto; bottom: 22px; margin-left: -.55em; font-size: 1.6rem; white-space: nowrap; }
  .strip-count { opacity: 0; transition: opacity .3s ease; }
  .strips:not(:hover):not(:focus-within) li:first-child .strip-name, .strips li:hover .strip-name, .strips li:focus-within .strip-name {
    writing-mode: horizontal-tb; transform: none; left: 26px; right: 26px; margin-left: 0; bottom: 48px; font-size: 2.4rem; white-space: normal;
  }
  .strips:not(:hover):not(:focus-within) li:first-child .strip-count, .strips li:hover .strip-count, .strips li:focus-within .strip-count { opacity: 1; left: 26px; bottom: 22px; }

  .where, .talents { padding-top: 88px; }
  .countries { grid-template-columns: repeat(5, 1fr); column-gap: 24px; }
  .country { padding-right: 24px; }
  .country::after { top: auto; bottom: 18px; transform: none; }
  .country:hover::after { transform: translateX(4px); }

  .talent { grid-template-columns: 380px minmax(0, 1fr); gap: 48px; align-items: center; padding: 40px 0; }
  .talent:nth-of-type(even) { grid-template-columns: minmax(0, 1fr) 380px; }
  .talent:nth-of-type(even) .talent-id { order: 2; }
  .arch.arch-sm { width: 110px; }
  .talent-name { font-size: 2.2rem; }

  .join { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); min-height: 560px; }
  .join-copy { padding: 80px clamp(32px, 6vw, 104px); align-self: center; }
  .profile-id { flex-direction: row; align-items: flex-end; gap: 30px; }
  .has-cover .arch-lg { width: 160px; margin-top: -120px; }
  .arch-lg { width: 200px; }
  .profile-cover { margin: 0; border-radius: var(--r-panel); overflow: hidden; }
  .profile-cols { grid-template-columns: minmax(0, 1fr) 400px; gap: 56px; }
  .booking { position: sticky; top: 16px; }
  .sticky-book { display: none; }
  body:has(.sticky-book) main { padding-bottom: 0; }
  .profile-edit { grid-template-columns: 300px minmax(0, 1fr); }
  .works-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ————— Téléphone : en-tête sur une seule ligne, recherche visible sans défiler ————— */
@media (max-width: 599px) {
  .top { padding-block: 10px; flex-wrap: nowrap; }
  .nav { flex-wrap: nowrap; gap: 0 12px; }
  .nav-hide-sm { display: none !important; }                /* « Trouver », « Connexion » : accessibles ailleurs */
  .nav .nav-cta { padding: 6px 14px; min-height: 40px; white-space: nowrap; }
  .langs a[aria-current] { display: none; }                 /* on ne montre que l'autre langue */
  .langs a + a { border-left: 0; }
  .lockup-main { font-size: 1.5rem; }
  .lockup-sub { letter-spacing: .5em; font-size: .9375rem; }

  .cine-copy { padding-top: 84px; }
  .cine .kicker { letter-spacing: .2em; font-size: .9375rem; }
  .cine .lede { font-size: 1rem; margin-bottom: 18px; }
  .search .field { padding: 6px 12px 0; }
  .search input, .search select { min-height: 38px; padding-bottom: 6px; }

  .search-inline { grid-template-columns: 1fr 1fr; }
  .search-inline .field + .field { border-top: 0; border-left: 1px solid var(--line); }
  .search-inline .field:nth-of-type(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
  .search-inline .btn { grid-column: 1 / -1; min-height: 46px; }
  .section > .h1:first-child { font-size: 2.1rem; margin-bottom: .35em; }
  .near { margin: -12px 0 14px; }
  .near-btn { min-height: 42px; }
  .near-status { flex-basis: 100%; font-size: .9375rem; }

  .contact .btn-wa, .contact .btn-ghost { flex: 1 1 0; padding-inline: 10px; }
  .contact .btn-red { flex-basis: 100%; }
}
@media (max-width: 420px) {
  .row { grid-template-columns: 1fr; }
}

@media (display-mode: standalone) { .top { padding-top: max(14px, env(safe-area-inset-top)); } }
@media (forced-colors: active) { .btn, .panel, .search, .booking, .day, .slot { border: 1px solid CanvasText; } }

@media (max-height: 700px) and (max-width: 599px) { .cine .lede { display: none; } }

@media (min-width: 1180px) { .nav-pill { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } }
@media (min-width: 600px) and (max-width: 1179px) { .nav-pill a:last-child { display: none; } .nav > a.nav-hide-sm { display: none; } }
@media (max-width: 899px) { .nav-pill { display: none !important; } .nav { flex-wrap: nowrap; } }


/* Source: motion.css */
/* NYANGA BEAUTY — mouvement.
   Chaque animation a un rôle dans le parcours (émotion, orientation, réponse, statut).
   On n'anime que transform, opacity et visibility. */

:root {
  --motion-fast: 140ms;     /* appui, bascule */
  --motion-base: 220ms;     /* apparition d'un élément d'interface */
  --motion-page: 350ms;     /* transition entre pages */
  --motion-slow: 600ms;     /* validation (coche) */
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --ease-emphasis: cubic-bezier(.72, 0, .18, 1);
}

/* ——— Orientation : transitions entre pages ——— */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: var(--motion-base); }
/* La photo d'une pro (carte, talent) devient l'en-tête de sa fiche. */
::view-transition-group(*) { animation-duration: var(--motion-page); animation-timing-function: var(--ease-in-out); }

/* ——— Émotion : la photo arrive en trois mèches qui se tressent ———
   Une fois par session ; jamais en mode léger ni avec « réduire les animations ».
   La recherche reste utilisable pendant toute l'animation. */
@media (prefers-reduced-motion: no-preference) {
  /* Arrivée : le titre et la recherche montent doucement, une fois par session */
  html:not(.lite):not(.hero-seen) .cine .kicker,
  html:not(.lite):not(.hero-seen) .cine h1,
  html:not(.lite):not(.hero-seen) .cine .lede,
  html:not(.lite):not(.hero-seen) .cine .search { animation: title-in .9s var(--ease-out) both; }
  html:not(.lite):not(.hero-seen) .cine h1 { animation-delay: .12s; }
  html:not(.lite):not(.hero-seen) .cine .lede { animation-delay: .24s; }
  html:not(.lite):not(.hero-seen) .cine .search { animation-delay: .36s; }
  html:not(.lite):not(.hero-seen) .cine-word { animation: word-in 1.6s var(--ease-emphasis) backwards; }
  html:not(.lite):not(.hero-seen) .cine-a { animation: zoom-in 2.4s var(--ease-out) backwards; }
  @keyframes word-in { from { transform: translateY(70%); opacity: 0; } }
  @keyframes zoom-in { from { transform: scale(1.3); } }
  @keyframes title-in { from { opacity: 0; transform: translateY(14px); } }
}

/* ——— Réponse : appui sur un bouton ——— */
.btn, .pill, .day, .slot { transition: transform var(--motion-fast) var(--ease-out), background-color var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out; }
.btn:active, .pill:active, .day:active, .slot:active { transform: scale(.97); }

/* ——— Statut : message après une action ——— */
.flash { animation: flash-in var(--motion-base) var(--ease-out) both; display: flex; gap: 12px; align-items: center; }
@keyframes flash-in { from { opacity: 0; transform: translateY(-6px); } }
.flash-check { width: 30px; height: 30px; flex: none; }
.flash-check circle, .flash-check path { fill: none; stroke: var(--ok); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.flash-check circle { animation: draw var(--motion-slow) var(--ease-out) .1s forwards; }
.flash-check path { animation: draw 380ms var(--ease-out) .5s forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }

/* ——— Statut : champ en erreur (3 oscillations, ±4 px) ——— */
.shake { animation: shake 300ms ease-in-out; }
@keyframes shake { 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }
.field-error input, .field-error select, .field-error textarea, .field-error.slot-grid { border-color: var(--danger) !important; box-shadow: 0 0 0 1px var(--danger); }

/* ——— Statut : chargement des résultats (silhouettes à la forme des cartes) ——— */
.skeleton { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
.skeleton li { display: grid; gap: 10px; }
.skeleton .sk-media { aspect-ratio: 4 / 5; border-radius: 999px 999px 8px 8px; }
.skeleton .sk-line { height: 14px; border-radius: 4px; width: 70%; }
.skeleton .sk-line + .sk-line { width: 45%; }
.skeleton .sk-media, .skeleton .sk-line { background: linear-gradient(90deg, var(--line) 0%, var(--lait) 50%, var(--line) 100%) 0 0 / 200% 100%; animation: shimmer 1.2s ease-in-out infinite; }
@keyframes shimmer { to { background-position: -200% 0; } }
@media (min-width: 640px) { .skeleton { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 34px 22px; } }

/* ——— Réponse : résultats qui arrivent en cascade (8 premiers seulement) ——— */
.stagger-in > li { animation: rise 260ms var(--ease-out) both; }
.stagger-in > li:nth-child(2) { animation-delay: 40ms; }
.stagger-in > li:nth-child(3) { animation-delay: 80ms; }
.stagger-in > li:nth-child(4) { animation-delay: 120ms; }
.stagger-in > li:nth-child(5) { animation-delay: 160ms; }
.stagger-in > li:nth-child(6) { animation-delay: 200ms; }
.stagger-in > li:nth-child(7) { animation-delay: 240ms; }
.stagger-in > li:nth-child(8) { animation-delay: 280ms; }
.stagger-in > li:nth-child(n+9) { animation: none; }
@keyframes rise { from { opacity: 0; transform: translateY(10px); } }

/* ——— Réponse : créneaux du jour choisi ——— */
.slot-grid.is-fresh .slot { animation: rise 200ms var(--ease-out) both; }
.recap.is-updated { animation: recap 260ms var(--ease-out); }
@keyframes recap { from { opacity: .3; } }

/* ——— Statut : localisation en cours (le point du viseur pulse) ——— */
.near-btn.is-busy svg { animation: locate 1.1s ease-in-out infinite; }
@keyframes locate { 50% { transform: scale(.82); opacity: .55; } }

/* ——— Orientation : barre « Réserver » mobile ——— */
.sticky-book { transition: transform var(--motion-base) var(--ease-out), opacity var(--motion-base) ease-out; }
.sticky-book.is-hidden { transform: translateY(120%); opacity: 0; }

/* ——— Mode léger et mouvements réduits ——— */
html.lite *, html.lite *::before, html.lite *::after { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-delay: 0ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
  .btn:active, .pill:active, .day:active, .slot:active { transform: none; }
  .flash-check circle, .flash-check path { stroke-dashoffset: 0; }
}


/* Source: beauty-app.css */
/* Reference direction: warm cream, caramel, compact mobile app, rounded portraits. */
:root{--karite:#faf6ef;--lait:#fffcf6;--blanc:#fffdf9;--ebene:#191713;--cacao:#656058;--or:#a7723f;--indigo:#89562c;--indigo-dk:#70421f;--line:#e9dfd1;--field:#aa9984;--ok:#147848;--r:12px;--r-panel:16px;--wrap:1080px;--gut:clamp(18px,4vw,38px)}html{scroll-behavior:smooth;scroll-padding-top:20px}body,.page-home{background:var(--karite);color:var(--ebene);font:400 1rem/1.55 var(--body)}h1,h2,h3{font-family:var(--body);letter-spacing:-.025em;overflow-wrap:anywhere}h1,.h1{font-size:clamp(1.65rem,4vw,2.5rem);font-weight:700;line-height:1.2}.h2{font-size:2rem;font-family:var(--body)}a{color:var(--indigo)}.btn{border-radius:12px;background:var(--indigo);border-color:var(--indigo);font-size:.94rem;font-weight:600;min-height:48px}.btn-gold{color:white;background:var(--indigo);border-color:var(--indigo)}.btn-gold:hover{color:white;background:var(--indigo-dk)}.btn-ghost{background:transparent;color:var(--ebene);border-color:var(--line)}.btn-wa,.btn-green{background:var(--ok);border-color:var(--ok);color:white}.ui-icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.text-button{background:none;border:0;font:inherit;font-size: .9375rem;color:var(--indigo);cursor:pointer;min-height:44px;padding:6px 0}
.top,.page-home .top{position:relative;inset:auto;background:var(--karite);color:var(--ebene);max-width:calc(var(--wrap) + 2 * var(--gut));margin:auto;padding:20px var(--gut);z-index:10;gap:16px}.top .lockup,.page-home .top .lockup{color:var(--ebene);display:flex;flex-direction:row;align-items:center;gap:10px}.brand-monogram{font:400 2.8rem/.9 var(--display);letter-spacing:-.24em;color:#181713;display:inline-flex;padding-right:.2em}.brand-monogram>span{color:#a7723f;mix-blend-mode:multiply}.brand-word{font:600 1.25rem/1.2 var(--body);letter-spacing:-.05em;color:#151412}.brand-word>span{font-weight:400;color:#a7723f;margin-left:2px}.top .nav>a,.top .nav .linklike,.page-home .top .nav>a,.page-home .top .nav .linklike{color:var(--ebene);letter-spacing:0;text-transform:none;font-size: .9375rem}.top .nav-cta,.page-home .top .nav .nav-cta{border-color:var(--line);background:var(--lait);border-radius:12px}.top .nav-pill,.page-home .top .nav-pill{background:none;border:0;backdrop-filter:none;gap:0}.top .nav .nav-pill a,.page-home .top .nav .nav-pill a{color:var(--cacao);text-transform:none;letter-spacing:0;font-size: .9375rem;padding-inline:10px}.top .nav .nav-pill a:hover{background:#f0e4d6;color:var(--indigo)}.top .langs a,.page-home .top .langs a{background:#f0eae1;color:var(--ebene);min-width:34px;min-height:32px;border:0;font-size: .9375rem;border-radius:7px;margin-left:4px;text-decoration:none;letter-spacing:0}.top .langs a[aria-current],.page-home .top .langs a[aria-current]{background:var(--indigo);color:white}.top .mobile-discover{display:none}.motion-switch{display:none!important}.top :focus-visible,.page-home .top :focus-visible{outline-color:var(--indigo)}.section{padding-top:24px;padding-bottom:40px}.beauty-app-home{padding-top:0}.location-bar{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ebene);font-size: .9375rem;padding:12px 0;margin-bottom:8px}.location-bar .ui-icon:last-child{margin-left:auto;width:16px;color:#655d53}.quick-search{display:flex;align-items:center;gap:10px;background:#f1ebe3;border-radius:12px;padding:0 12px;min-height:48px}.quick-search>.ui-icon{color:#777064;width:19px}.quick-search input{width:100%;min-width:0;border:0;background:transparent;font:inherit;font-size: .9375rem;padding:14px 0;color:var(--ebene)}.quick-search input::placeholder{color:#655d53}.quick-search button{border:0;background:none;color:var(--indigo);min-width:36px;min-height:42px;cursor:pointer}.beauty-categories{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;margin:25px 0 30px}.beauty-categories>a{display:flex;align-items:center;flex-direction:column;gap:8px;text-decoration:none;color:var(--ebene);font-size: .9375rem}.category-disc{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f9dec2,#e9b886);color:#493320;transition:transform .25s}.category-disc .ui-icon{width:32px;height:32px;stroke-width:1.5}.beauty-categories>a:hover .category-disc{transform:translateY(-3px)}.app-section-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0 14px}.app-section-title h1,.app-section-title h2{font-size:1.15rem;line-height:1.3;margin:0;font-weight:700}.app-section-title>a{font-size: .9375rem;text-decoration:none;display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--cacao)}.app-section-title .ui-icon{width:15px;height:15px}.beauty-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:15px;background:#f0e1ce;border-radius:22px;overflow:hidden;min-height:300px}.beauty-feature>div{padding:35px;align-self:center;position:relative;z-index:1}.mini-label{color:#82552e;font-size: .9375rem;letter-spacing:.11em}.beauty-feature h2{font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.13;margin:15px 0}.beauty-feature p{font-size: .9375rem;color:#635544;max-width:38ch}.beauty-feature .btn{margin-top:8px}.beauty-feature>img{width:100%;height:100%;max-height:430px;object-fit:cover;object-position:50% 25%}.beauty-inspiration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.beauty-inspiration>a{position:relative;overflow:hidden;border-radius:12px;color:white;text-decoration:none;height:240px}.beauty-inspiration img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.beauty-inspiration>a:hover img{transform:scale(1.04)}.beauty-inspiration span{position:absolute;bottom:0;left:0;right:0;padding:30px 14px 12px;background:linear-gradient(transparent,#0009);font-size: .9375rem}.beauty-how{background:#f3ebde;border-radius:16px;padding:23px;margin-top:30px}.beauty-how h2{font-size:1.1rem;margin:0 0 14px}.beauty-how ol{padding-left:20px;margin:0;font-size: .9375rem;color:var(--cacao)}.beauty-how li+li{margin-top:10px}
.grid,.beauty-pro-list{display:grid;grid-template-columns:1fr;gap:0}.card{position:relative;display:block;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;overflow:visible}.card-link{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:17px 48px 17px 0;text-decoration:none;color:var(--ebene);align-items:center}.card-media,.card .arch{width:100px;height:110px;min-height:0;aspect-ratio:auto;border-radius:12px;overflow:hidden;display:block}.card-media img,.card .arch img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card:hover img{transform:scale(1.025)}.card-body{padding:0;display:flex;flex-direction:column;min-width:0}.card-name{font:700 1rem/1.3 var(--body);margin-bottom:5px}.card-city,.card-tags{font-size: .9375rem;color:var(--cacao);margin:0;line-height:1.55}.card-foot{margin-top:6px;padding:0;border:0;display:flex;gap:12px;flex-wrap:wrap;font-size: .9375rem}.rating{color:#70421f;font-size: .9375rem}.favorite-toggle{position:absolute;right:0;top:24px;min-width:44px;min-height:44px;border:0;background:none;color:var(--ebene);cursor:pointer;display:grid;place-items:center;border-radius:50%}.favorite-toggle[aria-pressed=true]{color:var(--indigo)}.favorite-toggle[aria-pressed=true] .ui-icon{fill:#c1936740}.favorite-toggle:hover{background:#eee0cc}.favorite-feedback{font-size: .9375rem;color:var(--cacao);margin-block:10px}
.search-intro{font-size: .9375rem;max-width:60ch;color:var(--cacao)}.search-inline{background:#f1ebe3;border:0;border-radius:14px;overflow:hidden;margin-bottom:10px}.search .field{padding:14px}.search .field span{font-size: .9375rem;color:var(--cacao)}.search input,.search select{font-size: .9375rem}.pills{gap:8px;padding-block:14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.pill{min-height:40px;border-radius:11px;font-size: .9375rem;flex-shrink:0;background:#f0eae2;border:0}.pill img{width:25px;height:25px}.pill.is-on{background:var(--indigo);color:white}.near-status{font-size: .9375rem}.count{font-size: .9375rem}.panel,.booking{border-radius:16px;background:var(--lait);border:1px solid var(--line)}input,select,textarea{border-radius:10px}.form .field>input,.form .field>select,.form .field>textarea{background:#f2ece4;border:1px solid transparent;min-height:48px;font-size: .9375rem}.form .field>textarea{min-height:100px}.field>span{font-size: .9375rem}.days-row{gap:8px}.day{border-radius:10px}.slot{border-radius:10px}.slot:has(input:checked),.day:has(input:checked){background:var(--indigo);color:white}.request-note{font-size: .9375rem;color:var(--cacao);background:#f0e4d4;padding:13px;border-radius:10px}.profile-head{background:transparent;position:relative;padding:0;border-radius:0}.profile-cover{position:relative;inset:auto;width:100%;height:420px;overflow:hidden;border-radius:18px}.profile-cover img{height:100%;width:100%;object-fit:cover;object-position:50% 30%}.profile-id{position:relative;background:var(--karite);border-radius:18px 18px 0 0;padding:25px 24px;gap:18px;margin-top:-35px;z-index:2}.profile-id .arch{width:70px;height:80px;min-height:0;border-radius:12px}.profile-id h1{font-family:var(--body);font-weight:700;font-size:1.8rem;line-height:1.2;letter-spacing:-.03em}.profile-meta{font-size: .9375rem;color:var(--cacao);gap:8px}.profile-nav{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 24px;margin:8px 0 20px;scrollbar-width:none}.profile-nav a{font-size: .9375rem;white-space:nowrap;text-decoration:none;padding:12px 0;color:var(--cacao);border-bottom:2px solid transparent}.profile-nav a:hover,.profile-nav a:focus{border-bottom-color:var(--indigo);color:var(--indigo)}.profile-nav~.works{padding-inline:24px}.works-grid{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.works-grid img{border-radius:10px}.block .h3,.booking-title{font-size:1rem}.contact{gap:8px;flex-wrap:wrap}.contact .btn{font-size: .9375rem;padding:12px 15px}.menu-price{font-size: .9375rem}.gauge-braid{display:none}.gauge{display:block}.gauge progress{width:100%;accent-color:var(--indigo)}.gauge-text{max-width:none}.tabs a,.espace-nav a{border-radius:10px}.beauty-bottom-nav{display:none}.foot{background:var(--karite);color:var(--cacao);border-top:1px solid var(--line)}.wax-band{display:none}.foot .lockup,.foot a{color:var(--indigo)}.foot-inner{padding-block:32px}.foot-brand p{font-size: .9375rem}.foot .lockup-main{font:600 1.4rem var(--body)}.foot .lockup-sub{color:var(--indigo);font-size: .9375rem}.foot-links a{font-size: .9375rem}.more-list{list-style:none;padding:0;margin:20px 0}.more-list a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line);font-size: .9375rem;color:var(--ebene)}.favorite-empty{padding-block:40px;text-align:center}.favorite-empty .ui-icon{width:40px;height:40px;color:var(--indigo)}
.welcome-dialog{border:0;border-radius:24px;background:var(--karite);padding:0;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 30px);overflow:auto;color:var(--ebene);box-shadow:0 15px 70px #0004}.welcome-dialog::backdrop{background:#3a271dcc;backdrop-filter:blur(6px)}.welcome-skip{position:absolute;right:20px;top:12px;z-index:2}.welcome-brand{text-align:center;padding:40px 24px 18px;display:flex;flex-direction:column;align-items:center}.welcome-brand .brand-monogram{font-size:5rem;margin-bottom:15px}.welcome-brand .brand-word{font-size:1.7rem}.welcome-brand p{font-size: .9375rem;margin:10px 0 0;color:var(--cacao)}.welcome-dialog>img{width:100%;height:270px;object-fit:cover;object-position:50% 25%;mask-image:linear-gradient(#000 75%,transparent)}.welcome-copy{padding:0 25px 25px}.welcome-copy h2{font-size:1.5rem;line-height:1.2;margin:0 0 12px}.welcome-copy p{font-size: .9375rem;color:var(--cacao)}.welcome-dialog[open]{animation:beauty-in .4s ease}.beauty-feature,.beauty-categories>a{animation:beauty-in .5s ease both}.beauty-categories>a:nth-child(2n){animation-delay:.08s}@keyframes beauty-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:900px){.beauty-app-home>.location-bar,.beauty-app-home>.quick-search{max-width:650px}.beauty-pro-list{grid-template-columns:1fr 1fr;gap:0 35px}.profile-cols{grid-template-columns:minmax(0,1fr) 360px}.profile{max-width:1080px}.beauty-feature>img{min-height:350px}.beauty-inspiration>a{height:290px}}
@media(max-width:899px){.top .nav-pill{display:none}.beauty-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:19px 10px}.beauty-feature>div{padding:24px}.beauty-feature h2{font-size:1.65rem}}
@media(max-width:599px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom));}.top,.page-home .top{padding:20px var(--gut) 12px;gap:12px}.top .brand-monogram{font-size:2.25rem}.top .brand-word{font-size:1.1rem}.top .nav{gap:0}.top .nav>a,.top .nav form{display:none}.top .nav .nav-cta{display:none}.top .langs a{min-width:31px;min-height:31px}.section{padding-top:12px;padding-bottom:26px}.beauty-app-home{padding-top:0}.location-bar{font-size: .9375rem}.beauty-categories{margin-block:20px 24px;gap:16px 10px}.category-disc{width:57px;height:57px}.beauty-categories>a{font-size: .9375rem;gap:6px}.category-disc .ui-icon{width:29px;height:29px}.app-section-title{margin:24px 0 13px;gap:10px}.app-section-title h1,.app-section-title h2{font-size:1.02rem}.app-section-title>a{font-size: .9375rem}.beauty-feature{min-height:0;grid-template-columns:1.2fr .8fr;border-radius:15px;gap:0}.beauty-feature>div{padding:20px 12px 20px 18px}.beauty-feature h2{font-size:1.35rem;margin-block:10px}.beauty-feature p{font-size: .9375rem;line-height:1.5;margin-bottom:13px}.beauty-feature .btn{font-size: .9375rem;padding:11px 12px;min-height:43px;gap:6px}.mini-label{font-size: .9375rem}.beauty-feature>img{min-height:260px;object-position:50% 30%}.beauty-inspiration{gap:8px}.beauty-inspiration>a{height:150px;border-radius:10px}.beauty-inspiration span{font-size: .9375rem;padding:28px 8px 10px}.card-link{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:14px 34px 14px 0}.card-media,.card .arch{width:74px;height:87px;border-radius:9px}.card-name{font-size: .9375rem}.card-city,.card-tags,.card-foot{font-size: .9375rem}.card-foot{gap:8px;margin-top:4px}.favorite-toggle{right:-6px;top:14px;min-width:38px;min-height:38px}.favorite-toggle .ui-icon{width:21px;height:21px}.beauty-how{padding:18px}.beauty-how ol{font-size: .9375rem}.profile-cover{height:320px;border-radius:0}.profile-id{padding:20px 18px;margin-top:-22px;gap:12px}.profile-id .arch{display:none}.profile-id h1{font-size:1.5rem}.profile-meta{font-size: .9375rem}.contact .btn{font-size: .9375rem;padding:10px 12px;min-height:44px}.profile-nav{padding-inline:18px;gap:22px;margin-top:0}.profile-nav a{font-size: .9375rem}.profile-nav~.works{padding-inline:18px}.profile-cols{padding-top:8px;gap:18px}.profile-cols .booking{border:0;background:transparent;padding:20px 0}.beauty-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;background:#faf6eff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:10px 8px calc(8px + env(safe-area-inset-bottom));z-index:40}.beauty-bottom-nav>a{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;text-decoration:none;color:var(--ebene);font-size: .9375rem;min-height:44px}.beauty-bottom-nav .ui-icon{width:21px;height:21px}.beauty-bottom-nav>a[aria-current]{color:var(--indigo);font-weight:700}.beauty-bottom-nav>a[aria-current] .ui-icon{fill:#89562c20}.foot{display:none}.sticky-book{bottom:calc(73px + env(safe-area-inset-bottom));border-radius:10px}.search-intro{font-size: .9375rem}.search-inline{display:flex;flex-direction:column}.search .field+.field{border-top:1px solid var(--line);border-left:0}.search .btn{margin:10px}.count{font-size: .9375rem}.search .field{padding:12px}.near{gap:10px}.near-status{max-width:29ch}.welcome-dialog{max-height:calc(100dvh - 20px)}.welcome-dialog>img{height:230px}.welcome-brand{padding-top:35px}.welcome-copy h2{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.category-disc,.card img,.beauty-inspiration img{transform:none!important}}
.profile-favorite{z-index:5;top:20px;right:20px;background:#fffdf9dc}.profile-favorite:hover{background:var(--lait)}.beauty-app-home [hidden]{display:none!important}

.lite *, .lite *::before, .lite *::after{animation:none!important;transition:none!important}
/* Explicitly reset the previous editorial profile layout. */
.profile-cover{margin:0}.profile-head{margin-bottom:10px}.profile-head.has-cover .profile-id{margin-top:-35px}.profile-head .h1{font:700 1.8rem/1.2 var(--body);letter-spacing:-.03em}.profile-head .arch-lg{margin-top:0;box-shadow:none;width:70px}.profile-head .menu-price{font-family:var(--body)}
@media(max-width:599px){.profile-head.has-cover .profile-id{margin-top:-22px}.profile-head .h1{font-size:1.5rem}.profile-head .arch-lg{display:none}}

/* Official supplied artwork: preserve its proportions. */
.brand-logo{display:block;width:190px;flex-shrink:0}.brand-logo img{display:block;width:100%;height:auto}.footer-logo{display:block;width:190px;height:auto}.welcome-brand .welcome-logo{display:block;width:210px;height:auto;margin:0 auto 12px}.welcome-brand{display:block;text-align:center}.welcome-brand p{margin:0}.brand-logo img,.footer-logo,.welcome-logo{object-fit:contain}
@media(max-width:599px){.brand-logo{width:112px}.top,.page-home .top{padding-top:12px;padding-bottom:12px}.welcome-brand .welcome-logo{width:180px}.welcome-brand{padding-top:32px}}
/* Two welcome screens matching the supplied mobile composition. */
.welcome-step[hidden]{display:none!important}.welcome-step{position:relative;min-height:660px;isolation:isolate;overflow:hidden}.welcome-splash{display:flex;flex-direction:column}.welcome-splash .welcome-brand{position:relative;z-index:2;padding-top:65px}.welcome-splash .welcome-logo{width:240px}.welcome-splash .welcome-brand p{font-size: .9375rem}.welcome-splash-portrait{position:absolute;inset:auto 0 0;width:100%;height:76%;object-fit:cover;object-position:50% 20%;z-index:-1;mask-image:linear-gradient(transparent,#000 22%)}.welcome-start{margin-top:auto;padding:210px 22px 22px;position:relative;background:linear-gradient(transparent,#faf6ef70)}.welcome-start .btn{border:1px solid #fffdf9;justify-content:space-between;padding-inline:24px}.welcome-start p{text-align:center;font-size: .9375rem;margin:18px 0 0}.welcome-discover{display:flex;flex-direction:column}.welcome-discover-copy{position:relative;z-index:2;padding:72px 25px 0}.welcome-discover-copy h2{font-size:1.85rem;line-height:1.12;max-width:14ch;letter-spacing:-.035em;margin:0 0 16px}.welcome-discover-copy p{font-size: .9375rem;line-height:1.55;max-width:30ch;color:var(--cacao)}.welcome-duo{position:absolute;width:100%;height:75%;bottom:20px;object-fit:cover;object-position:50% 55%;z-index:-1;mask-image:linear-gradient(transparent,#000 25%,#000 80%,transparent)}.welcome-finish{margin-top:auto;padding:230px 24px 25px}.welcome-dots{display:flex;justify-content:center;gap:8px;margin-bottom:25px}.welcome-dots span{width:7px;height:7px;border-radius:50%;background:#d7cbbc}.welcome-dots .is-active{background:#191713}.welcome-finish .btn{justify-content:center;gap:18px}.welcome-skip{min-width:44px}.welcome-dialog:has(.welcome-step:not([hidden])){scrollbar-width:thin}
@media(max-width:599px){
 :root{--gut:20px}.top,.page-home .top{padding:22px 20px 8px;align-items:flex-start}.brand-logo{width:178px}.top .langs{padding-top:9px}.top .langs a{font-size: .9375rem;min-width:33px;min-height:34px;border-radius:7px}.location-bar{min-height:40px;margin:0 0 8px;padding:8px 0;font-size: .9375rem}.location-bar>.ui-icon{width:19px;height:19px}.quick-search{min-height:44px;border-radius:11px}.quick-search input{font-size: .9375rem;padding:11px 0}.quick-search>.ui-icon{width:18px}.quick-search button{min-width:28px;min-height:40px}.beauty-categories{gap:15px 12px;margin:20px 0 32px}.category-disc{width:60px;height:60px;background:radial-gradient(circle at 35% 25%,#f6d3ae,#e8b782)}.beauty-categories>a{font-size: .9375rem;gap:7px}.home-intro-title,.beauty-app-home>.beauty-feature{display:none}.beauty-app-home .beauty-inspiration{gap:7px}.beauty-app-home .beauty-inspiration>a{height:145px;border-radius:8px}.app-section-title{margin-top:25px;margin-bottom:12px}.app-section-title h2{font-size:1.08rem}.beauty-inspiration span{font-size: .9375rem}.beauty-bottom-nav{padding-top:8px;background:var(--karite);backdrop-filter:none}.beauty-bottom-nav>a{font-size: .9375rem;gap:5px}.beauty-bottom-nav .ui-icon{width:22px;height:22px}.beauty-bottom-nav>a[aria-current] .ui-icon{fill:#89562c;stroke:#89562c}.card-link{grid-template-columns:88px minmax(0,1fr);padding-block:16px;gap:13px}.card-media,.card .arch{width:88px;height:91px;border-radius:10px}.card-name{font-size: .9375rem}.card-tags,.card-city,.card-foot{font-size: .9375rem}.favorite-toggle{top:19px}.profile-cover{height:350px}.profile-id{border-radius:20px 20px 0 0}.profile-head.has-cover .profile-id{margin-top:-27px}.profile-head .h1{font-size:1.55rem}.profile-nav{gap:24px;padding-inline:20px;margin-bottom:16px}.profile-nav a{font-size: .9375rem}.works-grid{gap:7px}.profile-favorite{top:14px;right:14px;background:#faf6efbb}.welcome-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;max-height:100%;margin:0;border-radius:0;box-shadow:none}.welcome-step{min-height:100dvh}.welcome-splash .welcome-brand{padding-top:clamp(64px,12dvh,110px)}.welcome-splash .welcome-logo{width:min(72vw,270px)}.welcome-splash-portrait{height:70%;object-position:50% 20%}.welcome-start{padding:220px 22px calc(24px + env(safe-area-inset-bottom))}.welcome-start .btn{min-height:55px}.welcome-discover-copy{padding-top:80px}.welcome-discover-copy h2{font-size:1.9rem}.welcome-duo{height:72%;bottom:40px}.welcome-finish{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.welcome-finish .btn{min-height:54px}.welcome-skip{top:22px;right:22px;z-index:5}
}
@media(max-width:359px){.brand-logo{width:155px}.category-disc{width:53px;height:53px}.beauty-categories{gap:14px 7px}.welcome-discover-copy h2{font-size:1.6rem}.welcome-discover-copy p{font-size: .9375rem}.welcome-splash .welcome-logo{width:210px}}
@media(max-height:650px){.welcome-step{min-height:620px}.welcome-splash .welcome-brand{padding-top:48px}.welcome-splash .welcome-logo{width:190px}.welcome-discover-copy{padding-top:56px}.welcome-discover-copy h2{font-size:1.6rem}}

.mobile-page-header{display:none}
@media(max-width:599px){
 .home-intro-title{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.page-search .top>.lockup,.page-search .top>.nav,.page-pro .top>.lockup,.page-pro .top>.nav,.page-favorites .top>.lockup,.page-favorites .top>.nav,.page-more .top>.lockup,.page-more .top>.nav{display:none}.mobile-page-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:44px;width:100%}.mobile-page-header>a{display:grid;place-items:center;min-height:44px;color:var(--ebene);text-decoration:none}.mobile-page-header>a .ui-icon{transform:rotate(180deg);width:21px}.mobile-page-header>span{text-align:center;font-size:1rem;font-weight:700}.page-search .top,.page-more .top,.page-favorites .top{padding:16px 14px 4px}.page-search main>.section>.h1,.page-more main>.section>.h1,.page-favorites main>.section>.h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.page-search .search-intro{font-size: .9375rem;margin-top:0}.page-search .pill img{display:none}.page-search .pills{flex-wrap:wrap;overflow:visible;padding-top:12px}.page-search .pill{min-height:38px;font-size: .9375rem;border-radius:22px;padding-inline:14px}.page-search .search .field{padding:12px 14px}.page-search .search .field>span{font-size: .9375rem}.page-search .search .btn{margin:10px 12px 12px}.page-pro .top{position:absolute;top:0;left:0;right:0;z-index:6;background:transparent;padding:12px}.page-pro .mobile-page-header{display:flex}.page-pro .mobile-page-header>a{color:white;background:#19171350;border-radius:50%;width:44px}.page-pro .profile{padding-top:0}.page-pro .beauty-bottom-nav{display:none}.page-pro .contact{position:fixed;bottom:0;left:0;right:0;z-index:45;padding:12px 15px calc(12px + env(safe-area-inset-bottom));background:var(--karite);border-top:1px solid var(--line);display:flex;justify-content:center;gap:8px}.page-pro .contact .btn{font-size: .9375rem;padding:10px 12px;flex:1;min-width:0;min-height:48px;max-width:160px}.page-pro .sticky-book{display:none!important}.page-pro{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.page-more .more-list a{min-height:58px;font-size: .9375rem}.page-more .more-list{margin-top:0}
}
/* Launch identity: the paired portraits are part of the permanent home. */
.brand-home-hero{position:relative;isolation:isolate;min-height:600px;overflow:hidden;border:1px solid #ddc6aa;border-radius:26px;background:#faf6ef;margin:8px 0 0}.brand-home-duo{position:absolute;z-index:-1;right:0;bottom:0;width:62%;height:100%;object-fit:cover;object-position:50% 60%;mix-blend-mode:multiply}.brand-home-copy{position:relative;padding:70px 48px 0;max-width:55%}.brand-eyebrow{font-size: .9375rem;letter-spacing:.16em;color:#8c6036;font-weight:600}.brand-home-copy h1{font:400 clamp(2.8rem,5vw,4.3rem)/1.02 var(--display);letter-spacing:-.04em;margin:25px 0 22px}.brand-home-copy h1 em{font-style:normal;color:#70421f}.brand-home-copy p{max-width:28ch;font-size:1rem;line-height:1.7;color:#6b5947}.brand-home-actions{position:relative;padding:70px 48px 44px;display:flex;align-items:center;gap:25px;flex-wrap:wrap;max-width:60%}.brand-home-actions .btn{padding:17px 24px;gap:24px;border-radius:12px;box-shadow:0 7px 24px #89562c1a}.hero-pro-link{display:inline-flex;align-items:center;gap:7px;font-size: .9375rem;text-decoration:none;color:#63472e}.hero-pro-link .ui-icon{width:16px}.home-reassurance{display:flex;justify-content:center;gap:40px;padding:20px 0 24px;border-bottom:1px solid var(--line);color:#756453;font-size: .9375rem}.home-reassurance>span{display:flex;align-items:center;gap:7px}.home-reassurance .ui-icon{width:17px;height:17px;color:#70421f}#decouvrir{scroll-margin-top:24px}.home-process-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;font-size: .9375rem}.home-process-links a{text-decoration:none}.home-faq{padding-top:18px}.home-faq details{border-bottom:1px solid var(--line);padding:18px 0}.home-faq summary{cursor:pointer;font-size:.94rem;font-weight:600;padding-right:20px}.home-faq p{font-size: .9375rem;color:var(--cacao);max-width:75ch;margin:12px 0 0}.home-faq details>a{font-size: .9375rem;display:inline-block;margin-top:12px}.home-pro-invite{margin:38px 0 10px;padding:36px;border-radius:20px;background:#f0e2d0;border:1px solid #e0ceb7}.home-pro-invite h2{font:400 2.3rem/1.15 var(--display);max-width:21ch;margin:14px 0}.home-pro-invite p{font-size: .9375rem;max-width:52ch;color:#6b5947}.home-pro-invite .btn{margin-top:12px}.brand-home-copy,.brand-home-actions{animation:beauty-in .65s ease both}.brand-home-actions{animation-delay:.12s}
@media(max-width:899px){.brand-home-hero{min-height:570px}.brand-home-copy{padding:40px 28px 0;max-width:60%}.brand-home-copy h1{font-size:3.1rem}.brand-home-copy p{font-size: .9375rem}.brand-home-actions{padding:90px 28px 32px;max-width:64%;gap:16px}.brand-home-duo{width:70%;object-position:45% 60%}.home-reassurance{gap:22px}}
@media(max-width:599px){.beauty-app-home .brand-home-hero{min-height:640px;margin:8px -8px 0;border-radius:22px}.brand-home-duo{width:100%;height:100%;object-fit:cover;object-position:50% 70%;mask-image:linear-gradient(#000,#000 85%,transparent)}.brand-home-copy{padding:25px 22px 0;max-width:100%}.brand-eyebrow{font-size: .9375rem;letter-spacing:.14em}.brand-home-copy h1{font-size:2.7rem;line-height:1.02;margin:14px 0 12px;max-width:12ch}.brand-home-copy p{font-size: .9375rem;max-width:24ch;line-height:1.5}.brand-home-actions{position:absolute;bottom:0;left:0;right:0;padding:90px 20px 23px;max-width:none;display:flex;flex-direction:column;align-items:stretch;gap:13px;background:linear-gradient(transparent,#faf6efdd 45%,#faf6ef)}.brand-home-actions .btn{font-size: .9375rem;min-height:54px;justify-content:space-between;padding:14px 20px}.hero-pro-link{justify-content:center;min-height:30px;font-size: .9375rem}.home-reassurance{padding:17px 0 22px;gap:12px;justify-content:space-between;font-size: .9375rem}.home-reassurance>span{gap:4px}.home-reassurance .ui-icon{width:14px;height:14px}.home-pro-invite{padding:25px 22px;border-radius:16px}.home-pro-invite h2{font-size:1.85rem}.home-faq summary{font-size: .9375rem}.home-faq p{font-size: .9375rem}.home-process-links{font-size: .9375rem;gap:14px}.page-home .top{padding-top:16px}}
@media(max-width:359px){.brand-home-copy h1{font-size:2.35rem}.beauty-app-home .brand-home-hero{min-height:590px}.home-reassurance{font-size: .9375rem;gap:6px}}
.search-with-refinements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch}.search-refinements{display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.search-refinements .field{min-width:0}.search-refinements select{width:100%;min-height:40px;background:transparent;border:0;font:inherit}.service-book-link{display:inline-flex;align-items:center;gap:4px;font-size: .9375rem;text-decoration:none;min-height:44px;margin-left:10px;white-space:nowrap}.service-book-link .ui-icon{width:14px}.profile-share{font-size: .9375rem;min-height:34px}.menu>li{flex-wrap:wrap}.menu-price{white-space:nowrap}
@media(max-width:599px){.search-with-refinements{display:flex;flex-direction:column}.search-refinements{display:grid;grid-template-columns:1fr 1fr}.search-refinements .field+.field{border-top:0;border-left:1px solid var(--line)}.search-refinements .field>span{font-size: .9375rem}.search-refinements select{font-size: .9375rem}.service-book-link{margin-left:auto;font-size: .9375rem}.menu-name{max-width:66%}.menu-price{font-size: .9375rem}.profile-share{font-size: .9375rem}}
.legal-facts{margin:26px 0}.legal-facts>div{padding:16px 0;border-bottom:1px solid var(--line)}.legal-facts dt{font-weight:600;font-size: .9375rem}.legal-facts dd{margin:5px 0 0;color:var(--cacao);font-size: .9375rem;white-space:pre-line}
.search-with-refinements>.btn{grid-column:4;grid-row:1;align-self:center;margin:12px}.search-with-refinements>.search-refinements{grid-row:2}
@media(max-width:599px){.search-with-refinements>.btn{margin:10px 12px 12px}}
.journey-heading{margin-bottom:25px}.journey-heading h1{margin:10px 0;font-size:clamp(1.8rem,4vw,2.6rem)}.journey-heading p{color:var(--cacao);max-width:48ch}.tracking-page{max-width:780px}.tracking-summary{padding:28px}.tracking-summary h2{font-size:1.55rem;margin-bottom:8px}.booking-status{display:inline-block;padding:7px 12px;border-radius:22px;font-size: .9375rem;background:#eedfc9;color:#775022}.status-accepted{background:#d6ebdc;color:#155c38}.status-declined,.status-cancelled{background:#ede7e0;color:#665b51}.tracking-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.tracking-code,.tracking-cancel{padding:20px;margin:18px 0}.tracking-code summary,.tracking-cancel summary{cursor:pointer;font-weight:600}.tracking-code p{font-size: .9375rem}.tracking-code input{width:100%;font-size: .9375rem;background:var(--karite);padding:12px}.tracking-cancel form{margin-top:18px}.notification-count{background:var(--indigo);color:white;font-size: .9375rem;border-radius:20px;padding:3px 7px}.notifications-list{list-style:none;margin:24px 0;padding:0}.notifications-list li{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:20px 14px}.notifications-list li.is-unread{background:#f1e5d5;border-left:3px solid var(--indigo)}.notifications-list small{display:block;color:var(--cacao);margin-top:5px;font-size: .9375rem}.notifications-list a{font-size: .9375rem;white-space:nowrap}.journey-heading~.panel{padding:24px}
@media(max-width:599px){.tracking-summary{padding:22px}.tracking-actions{flex-direction:column;align-items:stretch}.notifications-list li{align-items:flex-start;flex-direction:column;gap:10px}.journey-heading p{font-size: .9375rem}.tracking-code input{font-size: .9375rem}}
.map-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:20px;margin-top:25px}.map-display{padding:0;overflow:hidden}.neighborhood-map{width:100%;height:430px;border:0;display:block}.map-consent{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;min-height:390px;padding:25px;background:radial-gradient(circle,#f0dfc7,#faf6ef)}.map-consent>.ui-icon{height:50px;width:50px;color:var(--indigo)}.map-consent p{max-width:40ch;font-size: .9375rem;color:var(--cacao)}.map-consent h2{font-size:1.3rem}.map-caption{padding:22px;display:flex;flex-direction:column;gap:8px}.map-caption span{font-size: .9375rem;color:var(--cacao)}.map-caption .btn{align-self:flex-start;margin-top:10px}.map-pro-list{list-style:none;margin:0;padding:0;max-height:590px;overflow:auto}.map-pro-list a{display:flex;flex-direction:column;padding:17px 14px;gap:5px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ebene)}.map-pro-list a.is-selected{background:#efdec8;border-radius:12px}.map-pro-list span{font-size: .9375rem;color:var(--cacao)}.search-map-link,.profile-map-link a{display:inline-flex;align-items:center;gap:5px;font-size: .9375rem;text-decoration:none;min-height:44px}.search-map-link .ui-icon,.profile-map-link .ui-icon{width:18px}
@media(max-width:599px){.map-layout{grid-template-columns:1fr}.neighborhood-map{height:380px}.map-pro-list{max-height:none}.map-consent{min-height:340px}.map-caption{padding:20px}}
.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none;padding:0;margin:22px 0;font-size: .9375rem;color:var(--cacao)}.booking-progress li{display:flex;align-items:center;gap:6px}.booking-progress span{display:grid;place-items:center;border-radius:50%;background:#ecdfcc;color:#79542b;width:24px;height:24px;font-weight:600;flex-shrink:0}.email-verification{padding:22px;margin-bottom:20px}.email-verification h2{font-size:1.15rem;margin:0 0 10px}.email-verification p{font-size: .9375rem;color:var(--cacao)}


/* Source: accessibility.css */
/* Accessibility improvements layered over the brand design. */
:root { --accessible-focus: #164b72; }
html { scroll-padding-bottom: calc(160px + env(safe-area-inset-bottom)); }
body { overflow-wrap: break-word; }
[hidden] { display: none !important; }
main, .panel, .field, .profile-cols > *, .row > * { min-width: 0; }
:focus-visible, .search input:focus-visible, .search select:focus-visible {
  outline: 3px solid var(--accessible-focus) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fffdf9;
}
:target, input, select, textarea, button, a { scroll-margin-block: 24px 160px; }
.skip { position: fixed; z-index: 1000; }
.skip:focus { left: 12px; }
main:focus { outline: none; }
.flash[tabindex]:focus { outline: 3px solid var(--accessible-focus); outline-offset: 3px; }
button, .btn, .pill, .langs a, .quick-search button, .favorite-toggle,
.mobile-page-header a, .subnav a, .profile-nav a, .linklike { min-height: 44px; }
.langs a, .quick-search button, .favorite-toggle, .mobile-page-header a { min-width: 44px; }
.top .langs a, .page-home .top .langs a { min-width: 44px; min-height: 44px; font-size: .9375rem; }
.form .field > input, .form .field > select, .form .field > textarea,
.search input, .search select, .quick-search input { font-size: 1rem; max-width: 100%; }
input::placeholder, textarea::placeholder, .quick-search input::placeholder { color: #655d53; opacity: 1; }
.form .field > input, .form .field > select, .form .field > textarea { border-color: #8b7a67; }
.hint, .muted, .near-status, .card-city, .card-tags, .card-foot { color: #59534b; }
.field > span, .hint, .near-status, .card-city, .card-tags, .card-foot,
.beauty-how ol, .welcome-copy p, .welcome-start p { font-size: .9375rem; }
.beauty-categories > a { font-size: .9375rem; }
.beauty-bottom-nav > a { font-size: .9375rem; }
.beauty-inspiration span { background: #342419ed; padding: 10px 12px; font-size: .9375rem; }
.day:has(input:checked) .day-dow, .day:has(input:checked) .day-month { color: #fffdf9; }
.day:has(input:checked), .slot:has(input:checked) { border-width: 2px; }
.day:has(input:focus-visible), .slot:has(input:focus-visible) { outline: 3px solid var(--accessible-focus); outline-offset: 3px; }
.field-error input, .field-error select, .field-error textarea { border: 2px solid #a22926 !important; }
.field-error-message { color: #8f2523; font-size: .9375rem; margin: 6px 0 0; }
.subnav, .profile-nav, .pills { padding-block: 6px; }
@media (max-width: 599px) {
  body { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  .beauty-bottom-nav { padding-inline: 4px; }
  .beauty-bottom-nav > a { overflow-wrap: anywhere; text-align: center; padding: 4px 2px; }
  .sticky-book { bottom: calc(100px + env(safe-area-inset-bottom)); }
  .beauty-categories { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .app-section-title { flex-wrap: wrap; }
  .app-section-title > a { font-size: .9375rem; }
  .foot { display: block; }
  .foot-links { flex-wrap: wrap; }
}
@media (max-width: 359px) {
  .brand-logo { max-width: 44vw; }
  .row { flex-wrap: wrap; }
  .row > * { flex-basis: 100%; }
  .beauty-inspiration { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  :focus-visible { outline-color: Highlight !important; box-shadow: none; }
  .btn, .pill, .day, .slot, input, select, textarea { border: 1px solid ButtonText; }
  .day:has(input:checked), .slot:has(input:checked), [aria-current="page"] { outline: 2px solid Highlight; }
  .beauty-inspiration span { background: Canvas; color: CanvasText; }
  .day, .slot { forced-color-adjust: auto; }
}

.foot-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9375rem; }
.section p a:not(.btn), .narrow p a:not(.btn), .hint a { text-decoration: underline; text-underline-offset: .18em; }

/* Version 10 — readable typography and direct mobile account access. */
:root { --cacao: #59534b; --or: #815125; --danger: #9c2525; --field: #756451; }
body, .page-home { font-size: 1.0625rem; line-height: 1.65; }
input, select, textarea, .form .field > input, .form .field > select, .form .field > textarea, .quick-search input { font-size: 1.0625rem; }
small, .hint, .field > span, .card-tags, .card-city, .card-foot, .near-status { font-size: .9375rem; line-height: 1.6; }
.btn, .text-button, .linklike { white-space: normal; line-height: 1.4; }
.beauty-categories > a, .beauty-bottom-nav > a { line-height: 1.35; }
.beauty-categories > a { overflow-wrap: anywhere; }
.beauty-inspiration > a { height: auto; min-height: 220px; }
.beauty-inspiration span { background: #342419; color: #fffdf9; }
.welcome-step { overflow: visible; }
.welcome-step p, .welcome-discover-copy p, .welcome-brand p, .welcome-copy p { color: #493e33; }
.welcome-start, .welcome-finish { background: linear-gradient(transparent, #faf6ef 35%); }
.welcome-start p { background: #faf6ef; padding: 8px; border-radius: 8px; }
.mini-label { color: #70421f; }
.field-error-message, .flash-error { color: #8f2523; }
.account-entry { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid #89562c; border-radius: 10px; text-decoration: none; font-weight: 600; }
.password-toggle { display: inline-flex; margin-top: 8px; min-height: 44px; align-items: center; }
.login-help { line-height: 1.6; }
@media (max-width: 599px) {
 .top, .page-home .top { flex-wrap: wrap; gap: 12px; }
 .top .nav { width: 100%; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
 .top .nav > a.account-entry, .page-home .top .nav > a.account-entry { display: inline-flex; font-size: 1rem; }
 .top .nav > .langs { margin-left: auto; }
 .beauty-bottom-nav > a { font-size: .9375rem; }
 .beauty-bottom-nav { align-items: stretch; }
 .beauty-inspiration { grid-template-columns: 1fr; }
 .beauty-inspiration > a { min-height: 230px; }
 .card-link { padding-right: 52px; }
 .favorite-toggle { right: 0; }
 .profile-nav { gap: 18px; }
}
@media (forced-colors: active) {
 .account-entry { border-color: ButtonText; }
 .beauty-inspiration span, .welcome-start p { color: CanvasText; background: Canvas; }
}

/* Version 13 — compact hero, no descriptive paragraph over the portraits. */
.brand-home-copy p { display: none; }

/* v14: account choices and appointment cards remain readable on narrow screens. */
.account-choice { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.account-choice a { flex:1 1 180px; white-space:normal; text-align:center; }
.account-choice [aria-current="page"] { background:#2B1A12; color:#FFF8EB; }
.client-bookings { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; margin:20px 0; }
.client-bookings .panel { min-width:0; overflow-wrap:anywhere; }
.client-bookings .btn { white-space:normal; }

.activity-stats { display:flex; flex-wrap:wrap; gap:20px; }
.activity-stats dd { margin:4px 0 0; font-size:1.5rem; font-weight:700; }
/* Notifications: mobile header wraps, without overlapping account controls. */
@media (max-width:599px) {
  .nav { flex-wrap:wrap; }
  .notifications-list li { flex-wrap:wrap; gap:12px; }
  .notifications-list li > div { min-width:0; overflow-wrap:anywhere; }
}

/* v16: accessible notification bell with existing live unread counter. */
.notification-bell {
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 48px; width:48px; height:48px; border:1px solid #594535;
  border-radius:50%; color:#2B1A12; background:#FFF8EB; text-decoration:none;
  overflow:visible;
}
.notification-bell svg { width:24px; height:24px; }
.notification-bell:hover { background:#F1E2BF; }
.notification-bell:focus-visible { outline:3px solid var(--indigo,#89562c); outline-offset:4px; }
.notification-bell .notification-count {
  position:absolute; top:-6px; right:-9px; min-width:25px; min-height:25px;
  display:inline-flex; align-items:center; justify-content:center;
  padding:3px 6px; border:2px solid #FFF8EB; border-radius:20px;
  background:var(--indigo,#89562c); color:#FFFFFF; font-size:15px; line-height:1; font-weight:700;
}

/* v18: search cards wrap according to available width, including fetched results. */
.results { container-type:inline-size; }
.results .search-pro-list {
  display:flex; flex-wrap:wrap; align-items:stretch;
  gap:16px; list-style:none; padding:0; margin:20px 0;
}
.results .search-pro-list > .card {
  flex:0 1 100%; min-width:0; max-width:100%;
  border:1px solid #D7C5AE; border-radius:16px; background:#FFF8EB;
}
.results .search-pro-list .card-link {
  grid-template-columns:80px minmax(0,1fr); gap:12px;
  padding:16px 44px 16px 12px; min-height:128px; height:100%;
}
.results .search-pro-list .card-media,
.results .search-pro-list .card .arch { width:80px; height:96px; }
.results .search-pro-list .card-body { min-width:0; overflow-wrap:anywhere; }
.results .search-pro-list .card-name { font-size:17px; line-height:1.4; }
.results .search-pro-list .card-foot { gap:8px; }
.results .search-pro-list .favorite-toggle { right:2px; top:10px; }
@container (min-width:650px) {
  .results .search-pro-list > .card { flex-basis:calc((100% - 16px) / 2); }
}
@container (min-width:1000px) {
  .results .search-pro-list > .card { flex-basis:calc((100% - 32px) / 3); }
}

/* V21: compact navigation and wrapping discovery layout. */
.account-entry > .ui-icon { display:none; }
.beauty-categories { overflow:visible; }
.beauty-categories > a { min-width:0; text-align:center; overflow-wrap:anywhere; }
.page-home .beauty-pro-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:16px; }
.page-home .beauty-pro-list > .card { min-width:0; }
.page-home .card-body { overflow-wrap:anywhere; }
.page-home .app-section-title { flex-wrap:wrap; }
@media(max-width:599px) {
 .top, .page-home .top { flex-wrap:nowrap; gap:8px; }
 .top .lockup { min-width:0; }
 .top .nav, .page-home .top .nav { width:auto; flex:0 0 auto; gap:6px; margin:0; }
 .top .nav > .langs, .top .nav > .nav-pill { display:none; }
 .top .nav > a.account-entry, .page-home .top .nav > a.account-entry { display:inline-flex; width:44px; height:44px; padding:0; border:0; }
 .account-entry > .ui-icon { display:block; }
 .account-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .top .nav > a.notification-bell { display:inline-flex; order:-1; }
 .beauty-bottom-nav { padding:6px 8px calc(6px + env(safe-area-inset-bottom)); }
 .beauty-bottom-nav > a { min-height:48px; }
 .beauty-bottom-nav .ui-icon { width:24px; height:24px; }
 .beauty-app-home .brand-home-hero { min-height:480px; margin:8px 0 0; }
 .brand-home-copy { padding:22px 18px 0; }
 .brand-home-copy h1 { font-size:clamp(2rem,9vw,2.7rem); }
 .brand-home-actions { padding:60px 18px 18px; }
 .brand-home-actions .hero-pro-link, .home-reassurance, .beauty-app-home > .location-bar { display:none; }
 .beauty-categories { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px 8px; }
 .category-disc { width:52px; height:52px; }
 .beauty-categories > a { font-size:.8125rem; }
 .beauty-inspiration { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .beauty-inspiration > a { min-width:0; min-height:150px; }
 .beauty-inspiration span { overflow-wrap:anywhere; }
 .page-home .favorite-toggle { right:0; }
 .pills, .profile-nav, .days-row { flex-wrap:wrap; overflow-x:visible; }
 .days-row { grid-auto-flow:row; grid-template-columns:repeat(auto-fit,minmax(64px,1fr)); }
}

.email-code-panel{padding:24px;margin-bottom:20px}.email-code-panel .email-code-input{font-size:1.8rem;letter-spacing:.35em;text-align:center;width:100%;padding:16px;min-width:0}.email-code-panel strong{overflow-wrap:anywhere}.email-code-panel+details{padding:20px;margin-bottom:20px}


/* Source: launch-design.css */
/* V26: wrap content rather than hiding overflow; preserve existing photos. */
.ui-icon.fa-icon, .btn .ui-icon.fa-icon, .beauty-bottom-nav .ui-icon.fa-icon,
.beauty-bottom-nav > a[aria-current] .ui-icon.fa-icon { fill:currentColor; stroke:none; }
.ui-icon.fa-icon { width:22px; height:22px; flex:none; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; padding:12px; }
.icon-button[hidden] { display:none; }
.account-entry > .ui-icon { display:block; }
.top, .nav { flex-wrap:wrap; }
.top > *, .nav > *, .app-section-title > *, .profile-id > * { min-width:0; }
.nav-pill { flex-wrap:wrap; }
.page-search .section, .page-search .results { min-width:0; }
.page-search .search-with-refinements {
 display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
 gap:0; width:100%; max-width:100%; padding:8px;
}
.page-search .search-with-refinements > .field { min-width:0; border:0; }
.page-search .search-with-refinements > .btn {
 grid-column:3; grid-row:1; margin:0; width:auto; align-self:center;
 max-width:100%; gap:8px;
}
.page-search .search input, .page-search .search select { width:100%; min-width:0; }
.page-search .search-advanced { grid-column:1/-1; grid-row:2; min-width:0; margin-top:8px; border-top:1px solid var(--line); }
.search-advanced > summary { display:list-item; padding:14px 12px; cursor:pointer; font-weight:600; }
.search-advanced > summary .ui-icon { width:17px; height:17px; vertical-align:middle; margin-right:6px; }
.page-search .search-refinements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:0; gap:8px; padding-bottom:6px; }
.page-search .search-refinements .field { border:0; grid-column:auto; }
.page-search .pills, .profile-nav { flex-wrap:wrap; overflow:visible; max-width:100%; }
.page-search .pill { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.page-search .search-pro-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; }
.page-search .search-pro-list > .card { min-width:0; width:auto; max-width:100%; }
.page-search .card-link { min-width:0; }
.card-foot { flex-wrap:wrap; }
.card-availability { display:block; margin-top:6px; font-size:.875rem; color:var(--cacao); }
.card-body, .card-name, .card-tags, .bio, .menu-name, .recap { overflow-wrap:anywhere; }
.search-empty-actions { padding:18px; background:var(--lait); border:1px solid var(--line); border-radius:14px; margin:16px 0; }
.search-empty-actions p { margin-top:0; }
.profile-detail { border-bottom:1px solid var(--line); }
.profile-detail > summary, .home-detail > summary { cursor:pointer; padding:16px 0; }
.profile-detail > summary h2, .home-detail > summary h2 { display:inline; margin:0; font-size:1.15rem; }
.profile-detail > :not(summary) { margin-top:16px; }
.profile-nav a { min-height:44px; display:inline-flex; align-items:center; }
.profile-cols { grid-template-columns:minmax(0,1fr) minmax(0,400px); gap:32px; }
.profile-id h1 { overflow-wrap:anywhere; }
.profile-meta { flex-wrap:wrap; }
.profile-share { vertical-align:middle; }
.profile .menu > li { gap:10px; }
.profile .menu-name { min-width:0; flex:1 1 160px; max-width:100%; }
.profile .menu-leader { display:none; }
.profile .service-book-link { margin-left:0; }
.profile .contact { flex-wrap:wrap; gap:8px; }
.profile .contact .icon-button { flex:0 0 48px; width:48px; max-width:48px; padding:12px; }
.booking-unavailable { display:block; padding:12px; font-weight:600; color:var(--cacao); }
.booking .recap { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--lait); }
.booking .days-row { grid-auto-flow:row; grid-template-columns:repeat(auto-fit,minmax(64px,1fr)); overflow:visible; }
.home-detail { margin:28px 0; border-block:1px solid var(--line); }
.page-home .beauty-how { padding:12px 0; }
.page-home .app-section-title { flex-wrap:wrap; gap:10px; }
.page-home .brand-home-copy p { max-width:28ch; }
@media(max-width:899px) {
 .profile-cols { grid-template-columns:minmax(0,1fr); }
 .page-search .search-with-refinements { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .page-search .search-with-refinements > .btn { grid-column:1/-1; grid-row:2; margin:8px 0; width:100%; }
 .page-search .search-advanced { grid-row:3; }
}
@media(max-width:599px) {
 .page-search .search-with-refinements { grid-template-columns:minmax(0,1fr); }
 .page-search .search-with-refinements > .btn, .page-search .search-advanced { grid-row:auto; grid-column:1; }
 .page-search .search-refinements { grid-template-columns:minmax(0,1fr); }
 .page-pro .contact { position:static; padding:16px 0 0; border:0; background:transparent; justify-content:flex-start; }
 .page-pro .contact .btn:not(.icon-button) { flex:1 1 150px; max-width:none; }
 .page-pro .sticky-book:not([hidden]) { display:flex!important; align-items:center; justify-content:center; gap:8px; }
 .page-pro .booking-unavailable { flex-basis:100%; }
 .page-pro .profile-share { min-width:48px; min-height:48px; }
 .page-pro .menu-price { white-space:normal; overflow-wrap:anywhere; }
 .page-home .brand-home-actions { gap:14px; }
 .page-home .home-pro-invite { padding:24px; }
}


/* Source: header-footer.css */
/* V31: explicit account icon sizing overrides older hiding rules. */
.top .nav > a.account-entry.icon-button {
 display:inline-flex; align-items:center; justify-content:center;
 flex:0 0 48px; width:48px; height:48px; min-width:48px; padding:0;
 border:0; border-radius:50%; color:var(--ebene);
}
.top .nav > a.account-entry.icon-button > svg.ui-icon {
 display:block!important; flex:none; width:24px; height:24px;
 fill:currentColor; stroke:none;
}
.top .brand-logo { display:block; max-width:100%; }
.top .brand-logo img { width:100%; height:auto; object-fit:contain; }
.foot .foot-inner { grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; }
.foot .foot-brand { display:flex; flex-direction:column; align-items:center; min-width:0; }
.foot .footer-logo { width:200px; max-width:100%; height:auto; margin-inline:auto; }
.foot .foot-brand p { margin-inline:auto; }
.foot .foot-countries { justify-content:center; }
.foot .foot-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; max-width:100%; }
.foot .foot-links li { min-width:0; }
@media(max-width:599px) {
 .top .brand-logo { width:148px; max-width:42vw; }
 .top .brand-logo img { aspect-ratio:610/175; }
 .top,.page-home .top { align-items:center; padding-top:14px; }
 .foot .footer-logo { width:160px; }
 .foot .foot-links { gap:4px 16px; }
}


/* Source: feedback-fixes.css */
/* V32: feedback states and readable form spacing without horizontal scrolling. */
/* V33: reserve separate text/image areas on desktop and tablet. */
@media(min-width:600px) {
 .page-home .brand-home-duo { width:66%; object-position:50% 60%; }
 .page-home .brand-home-copy { max-width:55%; padding:48px 32px 0; }
 .page-home .brand-home-copy h1 { font-size:clamp(1.9rem,4.1vw,3.8rem); line-height:1.12; overflow-wrap:normal; }
 .page-home .brand-home-copy h1 em { white-space:normal; }
 .page-home .brand-home-actions { max-width:55%; padding:48px 32px 32px; gap:16px; }
}
.map-page .quick-search { display:flex; flex-wrap:wrap; gap:12px; padding:12px; }
.map-page .quick-search input { flex:1 1 180px; min-width:0; width:auto; }
.map-page .quick-search button { flex:0 0 auto; min-width:110px; min-height:48px; padding:12px 18px; white-space:nowrap; word-break:normal; overflow-wrap:normal; background:var(--indigo); color:white; border-radius:10px; }
.page-search .search button[type=submit] { white-space:nowrap; word-break:normal; overflow-wrap:normal; }
.page-search .near { margin:18px 0 24px; gap:12px 20px; }
.page-search .pills { margin-top:16px; margin-bottom:20px; }
.page-register .alt, .page-register .narrow > p:last-child { text-align:center; margin:24px auto; line-height:1.7; }
.page-register .alt a, .page-register .narrow > p:last-child a { display:inline-block; min-height:44px; padding:8px 4px; }
.favorite-toggle .favorite-empty, .favorite-toggle .favorite-filled { display:grid; place-items:center; }
.favorite-toggle .favorite-filled { display:none; }
.favorite-toggle[aria-pressed=true] .favorite-empty { display:none; }
.favorite-toggle[aria-pressed=true] .favorite-filled { display:grid; }
.favorite-toggle[aria-pressed=true] { background:var(--indigo); color:white; box-shadow:0 0 0 2px var(--lait); }
.favorite-toggle[aria-pressed=true] .ui-icon.fa-icon { fill:white; stroke:none; }
.top .langs a:hover, .top .langs a:focus-visible { background:var(--indigo); color:white; text-decoration:underline; }
.section p a:not(.btn):hover, .narrow p a:not(.btn):hover { text-decoration-thickness:3px; color:var(--indigo); }
.card-link:focus-visible { outline:3px solid var(--indigo); outline-offset:-3px; }
@media(hover:hover) and (pointer:fine) {
 .card { transition:box-shadow .18s ease,transform .18s ease; }
 .card:hover { transform:translateY(-2px); box-shadow:0 4px 14px #2b1a1226; }
 .card:hover .card-name { color:var(--indigo); text-decoration:underline; text-underline-offset:3px; }
}
@media(max-width:599px) {
 .page-home .brand-home-copy { max-width:100%; padding:24px 18px 0; }
 .page-home .brand-home-copy h1 { max-width:none; font-size:clamp(1.65rem,7.1vw,2.4rem); line-height:1.12; }
 .page-home .brand-home-copy h1 em { white-space:nowrap; }
 .page-home .brand-home-duo { object-position:50% 60%; mask-image:linear-gradient(transparent,#000 30%,#000 85%,transparent); }
 .page-home .brand-home-copy { z-index:1; }
 .page-search .near { margin-top:20px; }
}
@media(max-width:379px) { .map-page .quick-search button { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { .card { transition:none; }.card:hover { transform:none; } }


/* Source: icon-contrast.css */
/* V35: FA paths are filled shapes; legacy ui-icon rules draw outlines. */
svg.ui-icon.fa-icon > path { fill:currentColor!important; stroke:none!important; }
.category-disc { color:#2B1A12; }
.category-disc > svg.ui-icon { width:30px; height:30px; opacity:1; }
.notification-bell { color:#2B1A12; }
.contact .btn-wa, .contact .btn-green { color:#fff; }
.contact .btn-ghost.icon-button, .profile-share { color:#2B1A12; }
.favorite-toggle, .favorite-toggle[aria-pressed=true], .profile .profile-favorite {
 padding:0; width:44px; height:44px; min-width:44px; min-height:44px;
 background:transparent; border:0; box-shadow:none; color:#70421F;
}
.favorite-toggle .ui-icon { width:22px; height:22px; }
.favorite-toggle[aria-pressed=true] .ui-icon.fa-icon > path { fill:#70421F!important; }
.favorite-toggle:focus-visible { outline:3px solid #70421F; outline-offset:2px; }
@media(hover:hover) { .favorite-toggle:hover { background:#f0e4d6; } }
.profile-cover ~ .profile-id .favorite-toggle { background:transparent; }


/* Source: account-ui.css */
.account-settings{margin:28px 0;border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--lait)}.account-settings>summary{min-height:44px;cursor:pointer;font-weight:600}.account-settings .two{margin-top:20px}.offer-page .panel{padding:24px}.offer-page .field small{display:block;color:var(--cacao);font-size:.9rem;line-height:1.5}.home-account-invite{max-width:70ch;margin:20px 0;font-size:.95rem;line-height:1.6}.home-account-invite a{display:inline-block;padding:8px 0;min-height:44px}.page-client .client-bookings .panel{padding:20px}.page-client .client-bookings{margin-top:20px}.page-client .account-settings input{max-width:100%}.page-client>.section{min-width:0}
@media(max-width:599px){.offer-page .panel{padding:18px}.account-settings{padding:16px}.page-client .client-bookings{grid-template-columns:minmax(0,1fr)}}

