:root{
    /* Palette tirée des affiches de la cliente (ivoire, vert forêt, sauge, or, cuivre).
       Contrastes vérifiés (WCAG AA) : voir couleurs-ok.md. */
    --sand:#F7F0E4;        /* fond principal : crème lumineux */
    --sand-deep:#EFE3CF;   /* fond secondaire : crème plus soutenu */
    --linen:#FDFAF4;       /* cartes : ivoire */
    --ink:#43382F;         /* texte courant : brun-gris chaud */
    --ink-soft:#665646;    /* texte secondaire */
    --gold:#B8893A;        /* or doux : filets, bordures, icônes (décor uniquement) */
    --gold-light:#E2C487;  /* or clair : sur fond vert forêt */
    --gold-text:#80591C;   /* or foncé : texte doré lisible sur fond clair */
    --clay:#36604A;        /* vert principal : boutons, surtitres, accents */
    --clay-deep:#1F3B2D;   /* vert forêt : titres, survols */
    --sage:#7E9A7A;        /* vert sauge des feuillages : décor, séparateurs */
    --mist:#E6ECDE;        /* fond sauge très clair */
    --copper:#9A5A2C;      /* pastilles de prix cuivre (dégradé) */
    --copper-light:#A8642F;
    --copper-text:#8E5026;
    --danger:#A3452E;      /* erreurs */
    --wood:#1F3B2D;        /* sections sombres : vert forêt */
    --wood-soft:#182F24;   /* footer */
    --on-dark:#F6EEDF;     /* texte clair sur vert forêt */
    --on-dark-soft:#D9C9A9;
    --twint:#C8175F;       /* rose Twint assombri (texte blanc lisible) */
    --line:rgba(67,56,47,0.16);
    --shadow:rgba(67,56,47,0.16);
  }
  /* Thème volontairement unique (clair, chaud) quel que soit le réglage de
     l'appareil — l'identité de la marque (crème/beige/bois) ne doit pas
     changer d'un visiteur à l'autre. */

  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--sand);
    color:var(--ink);
    font-family:'Jost',system-ui,sans-serif;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: no-preference){
    html{scroll-behavior:smooth;}
  }
  h1,h2,h3{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-weight:440;
    margin:0;
    text-wrap:balance;
    color:var(--clay-deep);
  }
  p{margin:0;}
  a{color:inherit;}
  .script{
    font-family:'Allura',cursive;
    font-weight:400;
  }
  .eyebrow{
    font-family:'Jost',sans-serif;
    font-size:0.72rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--clay);
    font-weight:500;
  }
  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding-inline:clamp(20px,5vw,48px);
  }
  section{padding-block:clamp(56px,9vw,108px);}
  .page{display:block;}
  img{max-width:100%;}
  [hidden]{display:none!important;}

  /* ---------- nav ---------- */
  header.nav{
    position:sticky;top:0;z-index:40;
    background:color-mix(in srgb, var(--sand) 94%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1120px;margin:0 auto;
    padding:12px clamp(20px,5vw,48px);
    display:flex;align-items:center;justify-content:space-between;
    gap:20px;
  }
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
  .brand .ring-mark{width:38px;height:38px;flex:none;}
  .brand-name{
    font-family:'Cormorant Garamond',serif;font-size:1.02rem;line-height:1.1;color:var(--clay-deep);
  }
  .brand-name em{font-family:'Allura',cursive;font-style:normal;color:var(--gold-text);font-size:1.28em;}
  nav.links{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);}
  nav.links a{
    white-space:nowrap;
    font-size:0.86rem;letter-spacing:0.01em;text-decoration:none;color:var(--ink-soft);
    position:relative;padding-block:4px;
  }
  nav.links a:hover,nav.links a:focus-visible{color:var(--ink);}
  nav.links a::after{
    content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold);
    transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
  }
  nav.links a:hover::after,nav.links a:focus-visible::after{transform:scaleX(1);}
  nav.links a.active:not(.cta-pill){color:var(--ink);}
  nav.links a.active:not(.cta-pill)::after{transform:scaleX(1);}
  .cta-pill{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--clay);color:var(--linen);
    padding:9px 20px;border-radius:999px;
    font-size:0.82rem;letter-spacing:0.02em;text-decoration:none;
    border:1px solid var(--clay);
    transition:background .2s ease, color .2s ease, transform .2s ease;
    white-space:nowrap;
  }
  .cta-pill:hover,.cta-pill:focus-visible{background:var(--clay-deep);border-color:var(--clay-deep);transform:translateY(-1px);}
  .burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:40px;height:40px;color:var(--ink);cursor:pointer;}
  .burger svg{width:18px;height:18px;}

  .mobile-nav{display:none;}

  @media (max-width:1060px){   /* 7 liens + bouton : menu burger en dessous de 1060px */
    nav.links{display:none;}
    .burger{display:inline-flex;align-items:center;justify-content:center;}

    .mobile-nav{
      display:flex;position:fixed;inset:60px 0 0 0;z-index:45;background:var(--clay);
      flex-direction:column;align-items:flex-start;gap:0;
      padding:14px clamp(20px,5vw,48px) 30px;
      overflow-y:auto;
      transform:translateY(-8px);opacity:0;pointer-events:none;visibility:hidden;
      transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
    }
    .mobile-nav[data-open="true"]{opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible;transition-delay:0s;}
    .mobile-nav a{
      width:100%;padding-block:12px;border-bottom:1px solid rgba(255,255,255,0.25);font-size:0.95rem;
      color:var(--linen);position:relative;text-decoration:none;
    }
    .mobile-nav a:hover,.mobile-nav a:focus-visible,.mobile-nav a.active:not(.cta-pill){color:#fff;}
    .mobile-nav .cta-pill{
      margin-top:14px;justify-content:center;width:100%;display:inline-flex;
      background:var(--gold-light);color:var(--wood);border-color:var(--gold-light);
    }
    .mobile-nav .cta-pill:hover,.mobile-nav .cta-pill:focus-visible{background:#EBD3A0;border-color:#EBD3A0;}
  }

  /* ---------- hero ---------- */
  .hero{position:relative;padding-block:clamp(56px,10vw,120px);overflow:hidden;}
  .hero-bg-ring{
    position:absolute;right:-8%;top:50%;translate:0 -50%;
    width:min(52vw,620px);opacity:0.55;color:var(--sage);
    pointer-events:none;
  }
  .hero-grid{
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(30px,6vw,60px);
    align-items:center;position:relative;
  }
  .hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-0.01em;}
  .hero h1 .h1-kicker{display:block;font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--clay);font-weight:500;line-height:1.6;margin-bottom:16px;}
  .hero .lede{
    margin-top:20px;max-width:46ch;color:var(--ink-soft);
    font-size:1.05rem;line-height:1.65;
  }
  .hero-ctas{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
  .cta-ghost{
    display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);
    font-size:0.9rem;border-bottom:1px solid var(--gold);padding-bottom:2px;
  }
  .cta-ghost:hover{color:var(--clay);border-color:var(--sage);}
  .hero-figure{position:relative;display:flex;justify-content:center;}
  .hero-figure .ring-mark{width:min(76vw,340px);height:auto;}
  @keyframes rise{from{opacity:0;translate:0 14px;}to{opacity:1;translate:0 0;}}
  @media (prefers-reduced-motion: no-preference){
    .hero .eyebrow{animation:rise .6s ease both;}
    .hero h1{animation:rise .7s .08s ease both;}
    .hero .lede{animation:rise .7s .16s ease both;}
    .hero-ctas{animation:rise .7s .24s ease both;}
    .hero-figure{animation:rise .8s .1s ease both;}
  }
  @media (max-width:820px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-figure{order:-1;}
    .hero-bg-ring{display:none;}
  }

  /* ---------- wave divider ---------- */
  .wave{display:block;width:100%;height:clamp(34px,6vw,64px);color:var(--sand-deep);}
  .wave.flip{transform:scaleY(-1);}
  .wave-linen{color:var(--mist);}
  .wave-wood{color:var(--wood);}

  /* ---------- présentation ---------- */
  .presentation{background:var(--sand-deep);}
  .pres-grid{display:grid;grid-template-columns:0.62fr 1fr;gap:clamp(30px,6vw,64px);align-items:center;}
  .pres-figure{
    aspect-ratio:1/1.12;border-radius:50% 50% 46% 46%/54% 54% 46% 46%;
    background:var(--linen);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 24px 50px -20px var(--shadow);
    position:relative;
  }
  .pres-figure svg{width:62%;height:62%;color:var(--sage);}
  .pres-figure::before{
    content:"";position:absolute;inset:-14px;border:1px solid var(--gold);
    border-radius:50% 50% 46% 46%/54% 54% 46% 46%;opacity:0.55;
  }
  .pres-text h2{font-size:clamp(1.7rem,3vw,2.3rem);max-width:15ch;}
  .pres-text p{margin-top:18px;color:var(--ink-soft);line-height:1.7;font-size:1rem;max-width:56ch;}
  .pres-text p + p{margin-top:14px;}
  .pres-sign{margin-top:24px;font-family:'Allura',cursive;color:var(--gold-text);font-size:1.9rem;}
  @media (max-width:780px){.pres-grid{grid-template-columns:1fr;} .pres-figure{max-width:260px;margin-inline:auto;}}

  /* ---------- values ---------- */
  .values{background:var(--mist);}
  .values-row{
    display:flex;flex-wrap:wrap;
  }
  .value{
    flex:1 1 200px;padding:18px 22px;border-left:1px solid color-mix(in srgb, var(--sage) 45%, transparent);
  }
  .value:first-child{border-left:none;}
  .value .num{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold-text);font-size:1rem;}
  .value h3{font-size:1.12rem;margin-top:10px;}
  .value p{margin-top:8px;color:var(--ink-soft);font-size:0.92rem;line-height:1.55;}
  @media (max-width:700px){
    .value{flex:1 1 45%;border-left:none;border-top:1px solid var(--line);}
  }

  /* ---------- quotes ---------- */
  .quotes{background:var(--sand);}
  .quotes .eyebrow{display:block;text-align:center;}
  .quotes h2{text-align:center;margin-top:10px;font-size:clamp(1.5rem,2.6vw,2rem);}
  .quotes-row{
    margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  }
  .quote{padding:0 10px;text-align:center;}
  .quote q{
    font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.18rem;line-height:1.5;
    quotes:"«\00a0" "\00a0»";color:var(--ink);
  }
  .quote span{display:block;margin-top:12px;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--clay);}
  @media (max-width:760px){.quotes-row{grid-template-columns:1fr;gap:36px;}}
  /* bloc « ambiance » de l'accueil (remplace les anciennes citations) */
  .ambiance{text-align:center;}
  .ambiance blockquote{
    margin:18px auto 0;max-width:34ch;font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.45;color:var(--clay-deep);
  }
  .ambiance .sig{display:block;margin-top:12px;font-family:'Allura',cursive;color:var(--gold-text);font-size:1.4rem;}
  .ambiance .tea-note{margin-inline:auto;text-align:left;max-width:720px;}
  nav.links a.cta-pill{color:var(--linen);}
  nav.links a.cta-pill::after{display:none;}
  .mood-words{margin-top:30px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:0.76rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-soft);}
  .mood-words span + span::before{content:"•";margin-right:18px;color:var(--gold);}
  .activities{margin-top:18px;color:var(--ink-soft);font-size:0.95rem;}

  /* ---------- logo provisoire (à remplacer par le logo officiel) ---------- */
  .logo-mark{display:block;}
  .brand .logo-mark{width:46px;height:46px;flex:none;}
  .hero-figure .logo-mark{width:min(78vw,360px);height:auto;}
  .contact .logo-mark{width:72px;height:72px;margin-bottom:18px;}

  /* ---------- mentions légales ---------- */
  .legal{background:var(--linen);}
  .legal-inner{max-width:760px;}
  .legal h2{font-size:clamp(1.8rem,3.2vw,2.3rem);margin-top:10px;}
  .legal h3{font-size:1.15rem;margin-top:36px;padding-bottom:8px;border-bottom:1px solid var(--line);}
  .legal h4{font-family:'Jost',sans-serif;font-size:0.95rem;font-weight:600;margin:20px 0 0;}
  .legal p,.legal li{color:var(--ink-soft);line-height:1.7;font-size:0.95rem;}
  .legal p{margin-top:10px;}
  .legal ul{margin:10px 0 0;padding-left:20px;}
  .legal a{color:var(--clay-deep);}
  .legal .todo{background:#FCE9B8;color:#6B4A00;padding:1px 6px;border-radius:4px;font-weight:500;}
  .legal .updated{margin-top:14px;font-size:0.82rem;}

  /* ---------- prestations (menu) ---------- */
  .menu{background:var(--linen);}
  .menu-head{max-width:60ch;}
  .menu-head h2{font-size:clamp(1.9rem,3.4vw,2.5rem);margin-top:10px;}
  .menu-head p{margin-top:16px;color:var(--ink-soft);line-height:1.65;}
  .menu-cols{
    margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:44px 56px;
  }
  .menu-cat-head{padding-bottom:10px;border-bottom:1px solid var(--gold);}
  .menu-cat-head h3{color:var(--clay-deep);}
  .menu-cat-head h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;letter-spacing:0.01em;}
  .menu-cat-head .cat-sub{display:block;margin-top:4px;font-size:0.74rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--clay);}
  .menu-item p.mi-desc{font-style:normal;}
  .tea-note{
    margin-top:28px;display:flex;align-items:center;gap:14px;max-width:720px;
    padding:14px 18px;border:1px solid var(--gold);border-radius:14px;background:color-mix(in srgb, var(--gold) 7%, transparent);
    font-size:0.92rem;line-height:1.5;color:var(--ink);
  }
  .tea-note svg{width:30px;height:30px;flex:none;color:var(--gold-text);}
  .menu-foot{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;}
  .menu-item{
    display:flex;gap:12px;align-items:baseline;
    padding-block:16px;border-bottom:1px solid var(--line);
  }
  .menu-item .mi-left{flex:1;min-width:0;}
  .menu-item h3,.menu-item h4{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.08rem;font-weight:500;margin:0;color:var(--ink);}
  .menu-item p{margin-top:4px;color:var(--ink-soft);font-size:0.86rem;font-style:italic;line-height:1.45;}
  .menu-item .mi-right{
    text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;
  }
  .menu-item .mi-right .dur{display:block;font-size:0.76rem;color:var(--ink-soft);}
  .menu-item .mi-right .price{
    display:inline-block;margin-top:4px;padding:3px 13px;border-radius:999px;
    font-family:'Cormorant Garamond',serif;font-size:1rem;color:#fff;
    background:linear-gradient(135deg, var(--copper) 0%, var(--copper-light) 100%);
    box-shadow:0 2px 6px -3px rgba(122,69,32,0.55);
  }
  .menu-item.signature{
    background:color-mix(in srgb, var(--gold) 10%, transparent);
    margin-inline:-18px;padding-inline:18px;border-radius:10px;border-bottom-color:transparent;
  }
  .menu-item.signature h3,.menu-item.signature h4{color:var(--gold-text);}
  .menu-item.signature .price{color:#fff;}
  @media (max-width:780px){.menu-cols{grid-template-columns:1fr;}}

  /* ---------- formules ---------- */
  .formules{background:var(--sand-deep);}
  .formules h2{font-size:clamp(1.7rem,3vw,2.2rem);}
  .ticket-row{
    margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:20px;
  }
  .ticket{
    position:relative;background:var(--linen);border:1px dashed var(--gold);
    border-radius:14px;padding:22px 18px;min-height:168px;
    display:flex;flex-direction:column;gap:8px;
    flex:1 1 170px;max-width:260px;
  }
  .ticket.is-single{border-style:solid;}
  .ticket::before,.ticket::after{
    content:"";position:absolute;width:16px;height:16px;background:var(--sand-deep);
    border-radius:50%;top:50%;translate:0 -50%;
  }
  .ticket::before{left:-9px;}
  .ticket::after{right:-9px;}
  .ticket .t-price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--copper-text);}
  .ticket .t-old{font-size:0.78rem;color:var(--ink-soft);text-decoration:line-through;}
  .ticket h3{font-size:0.98rem;margin-top:auto;}
  .ticket p{font-size:0.82rem;color:var(--ink-soft);line-height:1.4;}
  @media (max-width:520px){.ticket-row{gap:14px;} .ticket{flex:1 1 calc(50% - 7px);max-width:none;min-height:0;padding:18px 14px;} .ticket .t-price{font-size:1.25rem;}}
  .reiki-head{max-width:62ch;}
  .reiki-head h2{margin-top:10px;}
  .reiki-head p{margin-top:14px;color:var(--ink-soft);line-height:1.65;}
  .reiki-head .script{display:block;margin-top:14px;color:var(--gold-text);font-size:1.25rem;line-height:1.5;}
  .benefits{margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .benefit{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font-size:0.88rem;color:var(--ink-soft);line-height:1.4;}
  .benefit svg{width:46px;height:46px;padding:11px;border-radius:50%;background:var(--linen);color:var(--clay-deep);border:1px solid var(--gold);}
  @media (max-width:700px){.benefits{grid-template-columns:1fr 1fr;}}
  .tickets-title{margin-top:44px;text-align:center;font-size:1.25rem;}
  .tickets-note{margin-top:22px;text-align:center;font-size:0.86rem;color:var(--ink-soft);line-height:1.6;max-width:62ch;margin-inline:auto;}
  .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
  .formules .cta-row{margin-top:28px;justify-content:center;}

  /* ---------- réservation ---------- */
  .reservation{background:var(--sand);}
  .reservation .lede{margin-top:14px;color:var(--ink-soft);max-width:60ch;line-height:1.6;}
  .booking-grid{
    margin-top:36px;display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:start;
  }
  .booking-main{display:flex;flex-direction:column;gap:16px;}
  .booking-card{background:var(--linen);border:1px solid var(--line);border-radius:16px;padding:20px 22px;}
  .step-label{
    display:block;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;
    font-weight:600;color:var(--clay);margin-bottom:14px;
  }
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field + .field-row,.field-row + .field{margin-top:14px;}
  .field label{font-size:0.78rem;color:var(--ink-soft);}
  .field input,.field select{
    font-family:'Jost',sans-serif;font-size:0.92rem;color:var(--ink);
    background:var(--sand);border:1px solid var(--line);border-radius:10px;
    padding:10px 12px;width:100%;
  }
  .field input:focus,.field select:focus{outline:2px solid var(--gold);outline-offset:1px;}
  .field-note{margin-top:10px;font-size:0.78rem;color:var(--ink-soft);}

  .cal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .cal-arrow{
    width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--sand);
    color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;
  }
  .cal-arrow:hover{border-color:var(--clay);color:var(--clay);}
  .cal-arrow svg{width:14px;height:14px;}
  .cal-arrow:disabled{opacity:0.35;cursor:not-allowed;}
  .cal-arrow:disabled:hover{border-color:var(--line);color:var(--ink);}
  .cal-range{font-family:'Cormorant Garamond',serif;font-size:0.92rem;color:var(--ink-soft);}
  .cal-days{margin-top:14px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
  .cal-day{
    display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 2px;
    border-radius:10px;border:1px solid var(--line);background:var(--sand);cursor:pointer;
    font-family:'Jost',sans-serif;color:var(--ink);
  }
  .cal-day .d-name{font-size:0.66rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-soft);}
  .cal-day .d-num{font-family:'Cormorant Garamond',serif;font-size:1.05rem;}
  .cal-day:hover{border-color:var(--clay);}
  .cal-day.is-selected{background:var(--clay);border-color:var(--clay);}
  .cal-day.is-selected .d-name,.cal-day.is-selected .d-num{color:var(--linen);}
  .cal-day.is-closed{opacity:0.4;cursor:not-allowed;}
  .cal-day.is-closed:hover{border-color:var(--line);}
  .cal-slots{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;min-height:38px;}
  .cal-slot{
    padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--sand);
    font-family:'Jost',sans-serif;font-size:0.84rem;color:var(--ink);cursor:pointer;
    font-variant-numeric:tabular-nums;
  }
  .cal-slot:hover{border-color:var(--clay);color:var(--clay-deep);}
  .cal-slot.is-selected{background:var(--clay);border-color:var(--clay);color:var(--linen);}
  .cal-slot.is-taken{opacity:0.35;text-decoration:line-through;cursor:not-allowed;background:none;}
  .cal-slot.is-taken:hover{border-color:var(--line);color:var(--ink);}
  .cal-empty{font-size:0.84rem;color:var(--ink-soft);}
  .cal-closure-note{
    margin-top:12px;padding:8px 12px;border-radius:10px;font-size:0.8rem;line-height:1.5;
    color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);
  }
  @media (max-width:480px){.cal-days{grid-template-columns:repeat(7,minmax(0,1fr));} .cal-day .d-name{font-size:0.6rem;}}

  .admin-logout{
    background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;
    font-size:0.74rem;color:var(--ink-soft);cursor:pointer;font-family:'Jost',sans-serif;flex:none;
  }
  .admin-logout:hover{border-color:var(--clay);color:var(--clay-deep);}
  .admin-login{margin-top:14px;padding:16px;border-radius:12px;background:var(--sand);border:1px solid var(--line);}
  .admin-login .field-row{margin-bottom:12px;}
  .admin-login-btn{font-size:0.84rem;padding:9px 18px;}
  .admin-login-error{margin-top:10px;font-size:0.78rem;color:var(--danger);}
  @media (max-width:520px){.field-row{grid-template-columns:1fr;}}

  .booking-summary{
    background:var(--linen);border:1px solid var(--clay);border-radius:16px;
    padding:22px;position:sticky;top:80px;
  }
  .bk-service{font-family:'Cormorant Garamond',serif;font-size:1.15rem;margin-top:4px;}
  .bk-duration{font-size:0.86rem;color:var(--ink-soft);margin-top:4px;}
  .bk-amount{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--copper-text);margin-top:14px;}
  .bk-actions{margin-top:18px;display:flex;flex-direction:column;gap:10px;}
  .bk-actions button{width:100%;justify-content:center;border:none;font-family:'Jost',sans-serif;cursor:pointer;}
  .bk-actions .cta-pill{padding:12px 18px;font-size:0.88rem;}
  .bk-note{margin-top:14px;font-size:0.76rem;color:var(--ink-soft);line-height:1.5;}
  .bk-status{margin-top:14px;padding:10px 14px;border-radius:10px;font-size:0.84rem;line-height:1.5;}
  .bk-status.is-success{background:color-mix(in srgb, var(--clay) 14%, transparent);color:var(--clay-deep);border:1px solid var(--clay);}
  .bk-status.is-error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border:1px solid var(--danger);}
  .bk-status.is-pending{color:var(--ink-soft);}
  @media (max-width:820px){
    .booking-grid{grid-template-columns:1fr;}
    .booking-summary{position:static;}
  }

  /* ---------- espace ---------- */
  .espace{background:var(--sand);}
  .espace-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,60px);align-items:center;}
  .espace-text h2{font-size:clamp(1.8rem,3.2vw,2.3rem);}
  .espace-text p{margin-top:18px;color:var(--ink-soft);line-height:1.7;}
  .swatches{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;}
  .swatch{width:64px;text-align:center;}
  .swatch .chip{width:64px;height:64px;border-radius:50%;border:1px solid var(--line);box-shadow:inset 0 0 0 3px var(--sand);}
  .swatch span{display:block;margin-top:8px;font-size:0.72rem;color:var(--ink-soft);}
  .mood{
    display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);
    gap:10px;aspect-ratio:1/1;
  }
  .mood div{border-radius:14px;}
  .mood .m1{grid-column:1/3;grid-row:1/3;background:linear-gradient(135deg,#F4EADB 0%,#E2C487 55%,#C9A35C 100%);}
  .mood .m2{background:repeating-linear-gradient(90deg,#F4EADB,#F4EADB 6px,#E8D9BE 6px,#E8D9BE 8px);}
  .mood .m3{background:radial-gradient(circle at 30% 30%, #E6C49A, #B9733F);}
  .mood .m4{grid-column:2/4;background:linear-gradient(120deg,#36604A,#1F3B2D);}
  .mood .m5{background:linear-gradient(160deg,#C9D6C2,#7E9A7A);}
  @media (max-width:780px){.espace-grid{grid-template-columns:1fr;} .mood{order:-1;max-width:340px;margin-inline:auto;}}

  /* ---------- contact ---------- */
  .contact{background:var(--wood);color:var(--on-dark);position:relative;}
  .contact .ring-mark{width:64px;height:64px;color:var(--gold-light);margin-bottom:18px;}
  .contact h2{color:var(--on-dark);font-size:clamp(1.9rem,3.4vw,2.5rem);max-width:16ch;}
  .contact .lede{margin-top:16px;color:var(--on-dark-soft);max-width:50ch;line-height:1.65;}
  .contact-grid{margin-top:46px;display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .contact .eyebrow,.c-block .eyebrow{color:var(--gold-light);}
  .c-block h3{color:var(--on-dark);font-size:1.05rem;margin-top:8px;font-family:'Jost';font-weight:500;}
  .c-block p,.c-block a{margin-top:6px;color:var(--on-dark-soft);font-size:0.95rem;text-decoration:none;line-height:1.6;}
  .pay-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
  .pay-badge{
    display:inline-flex;align-items:center;gap:5px;
    padding:5px 13px;border-radius:999px;
    font-size:0.74rem;font-weight:600;letter-spacing:0.03em;
  }
  .pay-badge svg{width:12px;height:12px;fill:currentColor;}
  .pay-badge.cash{background:rgba(246,238,223,0.1);border:1px solid rgba(246,238,223,0.4);color:var(--on-dark);}
  .pay-badge.twint{background:var(--twint);color:#fff;border:none;cursor:pointer;font-family:inherit;transition:transform .15s ease, box-shadow .15s ease;}
  .pay-badge.twint:hover,.pay-badge.twint:focus-visible{transform:translateY(-1px);box-shadow:0 6px 16px -6px rgba(200,23,95,0.6);}

  /* ---------- paiement Twint (lien de paiement réel, voir twint-rapport.md) ---------- */
  .tw-pay{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb, var(--twint) 5%, var(--linen));}
  .tw-pay[hidden]{display:none;}
  .tw-pay-title{font-weight:600;margin:0 0 4px;}
  .tw-pay-amount{margin:0 0 10px;font-size:0.95rem;}
  .tw-pay-note,.tw-pay-ref{margin:8px 0 0;font-size:0.8rem;line-height:1.5;color:var(--ink-soft);}
  a.tw-pay-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;font-size:0.9rem;border-radius:999px;text-decoration:none;}
  a.tw-pay-btn svg{width:16px;height:16px;fill:currentColor;}
  .tw-forfait{margin-top:12px;}
  .tw-forfait a.tw-pay-btn{padding:9px 14px;font-size:0.82rem;}
  .cat-chip.tw-chip{background:var(--twint);color:#fff;border-color:transparent;}
  .tw-field input{font-size:0.82rem;}
  span.pay-badge.twint{cursor:default;}
  span.pay-badge.twint:hover{transform:none;box-shadow:none;}
  .bk-status a{color:inherit;text-decoration:underline;}
  .c-block a.mail{color:var(--on-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold-light);}
  .social-row{margin-top:14px;display:flex;gap:12px;}
  .social-row a{
    width:38px;height:38px;border:1px solid rgba(246,238,223,0.4);border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:var(--on-dark);text-decoration:none;
  }
  .social-row a:hover{border-color:var(--gold-light);color:var(--gold-light);}
  .social-row svg{width:16px;height:16px;}
  .contact-cta{margin-top:40px;}
  .contact .cta-pill{background:var(--gold-light);border-color:var(--gold-light);color:var(--wood);}
  .contact .cta-pill:hover,.contact .cta-pill:focus-visible{background:#EBD3A0;border-color:#EBD3A0;}
  @media (max-width:700px){.contact-grid{grid-template-columns:1fr;gap:30px;}}

  /* ---------- dashboard (espace pro) ---------- */
  .dashboard{background:var(--sand);}
  .dashboard .lede{margin-top:14px;color:var(--ink-soft);max-width:60ch;}
  .dashboard .admin-login{max-width:420px;margin-top:32px;}
  .dash-content{margin-top:32px;}
  .dash-stats{display:flex;gap:16px;flex-wrap:wrap;}
  .dash-stat{
    flex:1 1 180px;background:var(--linen);border:1px solid var(--line);border-radius:14px;
    padding:18px 20px;
  }
  .dash-stat{flex:1 1 130px;}
  .dash-stat-num{display:block;font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--clay-deep);}
  .dash-stat-label{display:block;margin-top:4px;font-size:0.8rem;color:var(--ink-soft);}
  .dash-toolbar{
    margin-top:36px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;
  }
  .dash-toolbar h3{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:500;}
  .dash-list{margin-top:16px;display:flex;flex-direction:column;gap:10px;}
  .dash-row{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;
    background:var(--linen);border:1px solid var(--line);border-radius:12px;padding:14px 18px;
    transition:opacity .2s ease;
  }
  .dash-row .dr-when{font-family:'Cormorant Garamond',serif;font-size:1rem;flex:none;min-width:150px;}
  .dash-row .dr-service{color:var(--ink-soft);font-size:0.88rem;}
  .dash-row .dr-client{font-size:0.86rem;text-align:right;}
  .dash-row .dr-client a{color:var(--clay-deep);text-decoration:none;}
  .dash-row .dr-right{display:flex;align-items:center;gap:14px;flex:none;}
  .dash-row .dr-amount{font-family:'Cormorant Garamond',serif;color:var(--copper-text);font-size:0.98rem;}
  .dr-cancel{
    background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;
    font-size:0.72rem;color:var(--ink-soft);cursor:pointer;font-family:'Jost',sans-serif;
  }
  .dr-cancel:hover{border-color:var(--danger);color:var(--danger);}
  .dr-confirm{
    background:none;border:1px solid var(--clay);border-radius:999px;padding:5px 12px;
    font-size:0.72rem;color:var(--clay-deep);cursor:pointer;font-family:'Jost',sans-serif;
  }
  .dr-confirm:hover{background:var(--clay);color:var(--linen);}
  .dash-row .dr-service .as-badge{margin-left:6px;}
  .dash-empty{color:var(--ink-soft);font-size:0.9rem;padding:20px 0;}
  .dash-content .admin-logout{margin-top:24px;}

  .agenda-card{background:var(--linen);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:16px;}
  .as-btn{
    background:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;
    font-size:0.76rem;color:var(--ink-soft);cursor:pointer;font-family:'Jost',sans-serif;white-space:nowrap;
  }
  .as-btn:hover{border-color:var(--clay);color:var(--clay-deep);}
  .as-btn.as-btn-danger:hover{border-color:var(--danger);color:var(--danger);}
  .as-btn.as-btn-ok{border-color:var(--clay);color:var(--clay-deep);}
  .as-btn.as-btn-ok:hover{background:var(--clay);color:var(--linen);}
  .as-badge{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:0.66rem;font-weight:600;vertical-align:middle;}
  .as-badge.pending{background:color-mix(in srgb, var(--gold) 20%, transparent);color:var(--gold-text);}
  .as-badge.confirmed{background:color-mix(in srgb, var(--clay) 18%, transparent);color:var(--clay-deep);}
  .field-row.three{grid-template-columns:1fr 1fr 1.4fr;}
  @media (max-width:640px){.field-row.three{grid-template-columns:1fr;}}
  .closure-form .admin-login-btn{margin-top:14px;}
  .closure-list{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
  .closure-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
    padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--sand);font-size:0.86rem;
  }
  .closure-row .cr-dates{font-family:'Cormorant Garamond',serif;}
  .closure-row .cr-label{color:var(--ink-soft);margin-left:8px;}

  /* ---------- agenda façon Salonkee : grille horaire, blocs proportionnels à la durée ---------- */
  .sf-app{
    --hh:64px;
    margin-top:16px;display:grid;grid-template-columns:250px minmax(0,1fr);
    background:var(--linen);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  }
  .sf-side{background:linear-gradient(165deg,var(--clay) 0%,var(--clay-deep) 100%);color:#fff;padding:18px 16px 20px;}
  .sf-mini-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .sf-mini-title{font-family:'Cormorant Garamond',serif;font-size:1rem;text-transform:capitalize;}
  .sf-mini-nav{background:none;border:none;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;width:30px;height:30px;border-radius:50%;}
  .sf-mini-nav:hover{background:rgba(255,255,255,0.2);}
  .sf-mini-dow,.sf-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;}
  .sf-mini-dow span{font-size:0.7rem;font-weight:600;padding:4px 0;color:#fff;}
  .sf-mini-grid{row-gap:2px;}
  .sf-mini-day{
    position:relative;height:30px;border:none;background:none;color:#fff;font-family:inherit;font-size:0.82rem;
    cursor:pointer;border-radius:8px;font-variant-numeric:tabular-nums;
  }
  .sf-mini-day:hover{background:rgba(255,255,255,0.22);}
  .sf-mini-day.is-out{opacity:0.75;}
  .sf-mini-day.is-week{background:rgba(255,255,255,0.18);}
  .sf-mini-day.is-today{box-shadow:inset 0 0 0 1.5px #fff;border-radius:50%;}
  .sf-mini-day.is-sel{background:var(--gold-light);color:var(--clay-deep);font-weight:600;box-shadow:none;border-radius:50%;opacity:1;}
  .sf-mini-day.has-b::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#fff;}
  .sf-mini-day.is-sel.has-b::after{background:var(--clay-deep);}
  .sf-legend{margin-top:18px;display:flex;flex-direction:column;gap:8px;font-size:0.78rem;}
  .sf-legend span{display:flex;align-items:center;gap:8px;}
  .sf-legend i{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid rgba(255,255,255,0.8);}
  .sf-legend i.hatch{background:repeating-linear-gradient(135deg, rgba(246,238,223,0.55) 0 3px, rgba(255,255,255,0.1) 3px 6px);}

  .sf-main{min-width:0;padding:16px 18px 18px;}
  .sf-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;}
  .sf-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:500;margin:0;}
  .sf-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .sf-seg button{border:none;background:var(--sand);padding:7px 16px;font-family:inherit;font-size:0.8rem;font-weight:600;color:var(--ink-soft);cursor:pointer;}
  .sf-seg button.is-on{background:var(--clay-deep);color:#fff;}
  .sf-nav{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--sand);}
  .sf-nav button{border:none;background:none;padding:7px 13px;font-family:inherit;font-size:0.8rem;color:var(--ink);cursor:pointer;}
  .sf-nav button:hover{background:color-mix(in srgb, var(--clay) 14%, transparent);}
  .sf-scroll{margin-top:14px;overflow-x:auto;overflow-y:hidden;}
  .sf-grid{min-width:calc(52px + var(--cols, 1) * 100px);}
  .sf-head,.sf-body{display:grid;grid-template-columns:52px repeat(var(--cols, 1), minmax(0, 1fr));}
  .sf-head-cell{padding:4px 4px 8px;text-align:center;font-size:0.8rem;color:var(--ink-soft);font-weight:500;}
  .sf-head-cell.is-today{color:var(--clay-deep);font-weight:700;}
  .sf-avatar{
    width:40px;height:40px;border-radius:50%;margin:0 auto 4px;display:flex;align-items:center;justify-content:center;
    background:var(--sand);border:1.5px solid var(--gold);font-family:'Allura',cursive;font-size:1.35rem;color:var(--clay-deep);
  }
  .sf-axis{position:relative;height:calc(10 * var(--hh));}
  .sf-axis span{position:absolute;right:8px;transform:translateY(-50%);font-size:0.7rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
  .sf-axis span.first{transform:translateY(0);}
  .sf-col{
    position:relative;height:calc(10 * var(--hh));border-left:1px solid var(--line);border-bottom:1px solid var(--line);
    background-image:
      linear-gradient(to bottom, var(--line) 1px, transparent 1px),
      linear-gradient(to bottom, color-mix(in srgb, var(--line) 45%, transparent) 1px, transparent 1px);
    background-size:100% var(--hh), 100% calc(var(--hh) / 2);
  }
  .sf-col.is-free{cursor:pointer;}
  .sf-col.is-free:hover{background-color:color-mix(in srgb, var(--clay) 5%, transparent);}
  .sf-col.is-past{background-color:color-mix(in srgb, var(--ink) 3%, transparent);}

  .sf-block{
    position:absolute;left:3px;right:3px;box-sizing:border-box;border:none;border-radius:9px;padding:6px 8px;overflow:hidden;
    cursor:pointer;text-align:left;font-family:inherit;color:var(--ink);line-height:1.25;
    box-shadow:0 1px 2px rgba(67,56,47,0.18);transition:transform 0.12s ease, box-shadow 0.12s ease;
  }
  .sf-block:hover{transform:translateY(-1px);box-shadow:0 5px 12px -4px rgba(67,56,47,0.4);}
  .sf-block .b-time{display:block;font-size:0.66rem;font-variant-numeric:tabular-nums;}
  .sf-block .b-name{display:block;font-size:0.84rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sf-block .b-svc{display:block;font-size:0.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sf-block.sf-pending{background:#E9C68C;}
  .sf-block.sf-ok{background:#A9C2A2;}
  .sf-block.sf-compact{padding:4px 8px;}
  .sf-block.sf-tiny{padding:3px 8px;display:flex;align-items:center;gap:6px;}
  .sf-block.sf-tiny .b-time,.sf-block.sf-tiny .b-name{display:inline;white-space:nowrap;}
  .sf-block.sf-tiny .b-name{font-size:0.76rem;}
  .sf-block.sf-closed{
    background:repeating-linear-gradient(135deg, rgba(67,56,47,0.12) 0 6px, rgba(67,56,47,0.05) 6px 12px);
    border:1px dashed color-mix(in srgb, var(--ink) 35%, transparent);box-shadow:none;color:var(--ink-soft);
  }
  .sf-block.sf-closed .b-name{font-weight:600;font-size:0.76rem;}
  .sf-off{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;
    background:repeating-linear-gradient(135deg, rgba(67,56,47,0.09) 0 8px, rgba(67,56,47,0.03) 8px 16px);
    color:var(--ink-soft);font-size:0.8rem;line-height:1.4;pointer-events:none;
  }
  .sf-now{position:absolute;left:0;right:0;height:0;border-top:2px solid #D9604E;z-index:3;pointer-events:none;}
  .sf-now::before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:#D9604E;}

  .sf-overlay{position:fixed;inset:0;z-index:90;background:rgba(67,56,47,0.5);display:flex;align-items:center;justify-content:center;padding:20px;}
  .sf-card{position:relative;width:100%;max-width:380px;background:var(--linen);border-radius:18px;padding:22px 22px 20px;box-shadow:0 30px 60px -20px rgba(0,0,0,0.5);}
  .sf-card h4{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;margin:0 30px 10px 0;}
  .sf-card .sf-lines p{margin:0;font-size:0.88rem;color:var(--ink-soft);line-height:1.6;}
  .sf-card .sf-lines a{color:var(--clay-deep);text-decoration:none;}
  .sf-card .sf-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;}
  .sf-x{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;background:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--ink-soft);border-radius:50%;}
  .sf-x:hover{background:var(--sand);}
  .sf-card.is-form{max-width:470px;max-height:calc(100vh - 40px);overflow-y:auto;}
  .sf-card .sf-sub{margin:0 30px 4px 0;font-size:0.82rem;color:var(--ink-soft);line-height:1.5;}
  .nb-form .field{margin-top:12px;}
  .nb-form .field-row{margin-top:12px;gap:12px;}
  .nb-form .field-row .field{margin-top:0;}
  .nb-form .field[hidden]{display:none;}
  .nb-check{display:flex;align-items:flex-start;gap:8px;margin-top:14px;font-size:0.82rem;color:var(--ink-soft);cursor:pointer;}
  .nb-check[hidden]{display:none;}
  .nb-check input{margin-top:3px;accent-color:var(--clay);}
  .nb-hint{margin:12px 0 0;font-size:0.8rem;color:var(--clay-deep);}
  .nb-error{margin:10px 0 0;font-size:0.82rem;color:var(--danger);}
  .nb-hint[hidden],.nb-error[hidden]{display:none;}
  .nb-actions{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .sf-newbtn{margin:0;}
  .field textarea{
    font-family:'Jost',sans-serif;font-size:0.92rem;color:var(--ink);background:var(--sand);
    border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;resize:vertical;
  }
  .field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;}
  .dash-tabs{margin-top:28px;display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);}
  .dash-tab{
    border:none;background:none;font-family:inherit;font-size:0.92rem;font-weight:600;color:var(--ink-soft);
    padding:10px 16px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;
  }
  .dash-tab:hover{color:var(--clay-deep);}
  .dash-tab.is-on{color:var(--clay-deep);border-bottom-color:var(--clay);}
  .dash-pane[hidden]{display:none;}
  .dash-pane > .dash-toolbar:first-child{margin-top:28px;}
  .cat-list{margin-top:16px;display:flex;flex-direction:column;gap:10px;}
  .cat-row{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;
    padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--linen);
  }
  .cat-row.is-off{background:var(--sand);border-style:dashed;}
  .cat-main{flex:1 1 280px;min-width:0;}
  .cat-name{font-family:'Cormorant Garamond',serif;font-size:1.02rem;}
  .cat-desc{margin-top:2px;font-size:0.8rem;color:var(--ink-soft);line-height:1.45;}
  .cat-chips{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;}
  .cat-chip{font-size:0.74rem;padding:3px 10px;border-radius:999px;background:var(--sand);border:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums;}
  .cat-chip.old{text-decoration:line-through;color:var(--ink-soft);}
  .cat-actions{display:flex;flex-wrap:wrap;gap:6px;}
  .cat-empty{color:var(--ink-soft);font-size:0.92rem;}
  .as-btn.as-btn-icon{padding:6px 11px;}
  .as-btn[disabled]{opacity:0.35;cursor:default;pointer-events:none;}
  .as-badge.muted{background:var(--sand);color:var(--ink-soft);border:1px solid var(--line);}
  .as-badge.sig{background:color-mix(in srgb, var(--gold) 20%, transparent);color:var(--gold-text);}
  .as-badge.stu{background:color-mix(in srgb, var(--copper-light) 16%, transparent);color:#7A4520;}
  .stu-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 22px;}
  .stu-form .field{width:130px;}
  .stu-form .nb-check{margin-top:0;align-self:center;}
  .nb-add,.nb-rm{margin-top:10px;}
  .nb-form .nb-hint{color:var(--ink-soft);}
  @media (max-width:860px){
    .sf-app{grid-template-columns:1fr;}
    .sf-mini-head,.sf-mini-dow,.sf-mini-grid{max-width:320px;margin-inline:auto;}
    .sf-legend{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 18px;}
    .sf-main{padding:14px 12px 16px;}
  }

  /* ---------- footer ---------- */
  footer{background:var(--wood-soft);color:var(--on-dark-soft);}
  .footer-inner{
    max-width:1120px;margin:0 auto;padding:20px clamp(20px,5vw,48px);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    font-size:0.78rem;
  }
  footer a{color:var(--on-dark);text-decoration:none;border-bottom:1px solid transparent;}
  footer a:hover{border-color:var(--gold-light);}

  /* ---------- focus clavier visible (WCAG 2.4.7) ---------- */
  :focus-visible{outline:2px solid var(--clay);outline-offset:2px;}
  .contact :focus-visible,footer :focus-visible,.mobile-nav :focus-visible,.sf-side :focus-visible{outline-color:var(--gold-light);}


/* =====================================================================
   Ajouts SEO multi-pages (pages de contenu, fil d'Ariane, FAQ, pied de page)
   ===================================================================== */
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--linen);padding:8px 14px;border-radius:8px;}
.skip:focus{left:12px;}
.page{display:block;}
.h3{font-size:1.12rem;margin-top:10px;}

/* H1 des anciennes sections devenues pages (mêmes tailles que les anciens H2) */
.menu-head h1{font-size:clamp(1.9rem,3.4vw,2.5rem);margin-top:10px;}
.pres-text h1{font-size:clamp(1.7rem,3vw,2.3rem);max-width:18ch;}
.formules h1,.reservation h1,.dashboard h1{font-size:clamp(1.8rem,3.2vw,2.4rem);margin-top:8px;}
.contact h1{color:#F3E6CE;font-size:clamp(1.9rem,3.4vw,2.5rem);max-width:18ch;}
.hero-facts{margin-top:18px;font-size:0.82rem;letter-spacing:0.02em;color:var(--ink-soft);}

/* Fil d'Ariane */
.breadcrumb{font-size:0.78rem;color:var(--ink-soft);margin-bottom:18px;}
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.breadcrumb li+li::before{content:"›";margin-right:6px;opacity:0.6;}
.breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line);}
.breadcrumb a:hover{color:var(--clay-deep);}
.breadcrumb.dark{color:#C8AD84;}
.breadcrumb.dark a{border-color:rgba(243,230,206,0.3);}

/* En-tête de page de contenu */
.page-head{background:var(--sand);padding-block:clamp(40px,7vw,84px) clamp(28px,4vw,44px);}
.page-head h1{font-size:clamp(2rem,4.2vw,3rem);line-height:1.1;margin-top:10px;max-width:24ch;}
.page-head .lede{margin-top:16px;color:var(--ink-soft);max-width:62ch;line-height:1.65;font-size:1.05rem;}

/* Blocs de contenu */
.content{background:var(--linen);}
.content.alt{background:var(--sand);}
.content h2,.cta-band h2{font-size:clamp(1.5rem,2.8vw,2.1rem);margin-top:10px;}
.section-lede{margin-top:14px;color:var(--ink-soft);max-width:64ch;line-height:1.65;}
.wrap.narrow{max-width:820px;}
.split{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(28px,5vw,60px);align-items:start;}
.split p{margin-top:14px;color:var(--ink-soft);line-height:1.7;}
.with-side{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,5vw,56px);align-items:start;}
@media (max-width:860px){.split,.with-side{grid-template-columns:1fr;}}
.links-inline a{color:var(--clay-deep);text-underline-offset:3px;}

.prose{max-width:68ch;}
.prose h2{font-size:clamp(1.35rem,2.5vw,1.8rem);margin-top:40px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.12rem;margin-top:26px;}
.prose p,.prose li{color:var(--ink-soft);line-height:1.75;}
.prose p{margin-top:12px;}
.prose ul{padding-left:1.2em;margin:12px 0 0;}
.prose li+li{margin-top:6px;}
.prose a,.faq a{color:var(--clay-deep);text-underline-offset:3px;}
.prose .cta-pill{color:var(--linen);margin-top:10px;}
.note{font-size:0.86rem;font-style:italic;border-left:2px solid var(--gold);padding-left:12px;margin-top:28px!important;}
.more{margin-top:22px;}
.more a{color:var(--clay-deep);}
.sub-h{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-top:56px;}

/* Carte « En bref » */
.side-card{position:sticky;top:90px;background:var(--linen);border:1px solid var(--clay);border-radius:16px;padding:22px;}
.content .side-card{background:var(--sand);}
.price-rows{margin:6px 0 0;}
.price-rows div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:0.9rem;}
.price-rows dt{color:var(--ink);}
.price-rows dd{margin:0;font-family:'Cormorant Garamond',serif;color:var(--clay);white-space:nowrap;}
.facts{list-style:none;padding:0;margin:14px 0 18px;font-size:0.84rem;color:var(--ink-soft);line-height:1.5;}
.facts li{padding-left:16px;position:relative;margin-top:6px;}
.facts li::before{content:"";position:absolute;left:0;top:0.6em;width:6px;height:6px;border-radius:50%;background:var(--gold);}
.facts a{color:var(--clay-deep);}
@media (max-width:860px){.side-card{position:static;}}

/* Tableau de prix (Reiki) */
.price-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:0.92rem;}
.price-table th,.price-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);}
.price-table thead th{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--clay);font-weight:600;}
.price-table td{font-variant-numeric:tabular-nums;color:var(--ink-soft);}
.price-table tbody th{font-weight:500;color:var(--ink);}

/* Cartes de soins */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:34px;}
.svc-card{background:var(--linen);border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease, transform .2s ease;}
.content:not(.alt) .svc-card{background:var(--sand);}
.svc-card:hover,.svc-card:focus-visible{border-color:var(--clay);transform:translateY(-2px);}
.svc-card h3{font-size:1.1rem;}
.svc-card p{font-size:0.88rem;color:var(--ink-soft);line-height:1.5;}
.svc-card .from{margin-top:auto;font-family:'Cormorant Garamond',serif;color:var(--clay);}
.menu-item h3 a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;}
.menu-item h3 a:hover{border-color:var(--clay);color:var(--clay-deep);}
.menu .hero-ctas{margin-top:40px;}

/* Provenance / zone */
.zone-card{background:var(--linen);border:1px solid var(--line);border-radius:16px;padding:22px;}
.zone-list{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:0.92rem;}
.zone-list small{color:var(--ink-soft);}
.zone-note{margin-top:14px!important;font-size:0.82rem;}

/* FAQ */
.faq{margin-top:24px;}
.faq details{border-bottom:1px solid var(--line);padding:4px 0;}
.faq summary{cursor:pointer;list-style:none;padding:14px 30px 14px 0;position:relative;font-family:'Cormorant Garamond',serif;font-size:1.06rem;color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-family:'Jost',sans-serif;font-size:1.3rem;color:var(--clay);}
.faq details[open] summary::after{content:"–";}
.faq-a{padding:0 0 16px;color:var(--ink-soft);line-height:1.7;}
.faq-a p+p{margin-top:10px;}

/* Bandeau d'appel à l'action */
.cta-band{background:var(--clay);color:var(--linen);text-align:center;padding-block:clamp(48px,7vw,80px);}
.cta-band h2{color:var(--linen);}
.cta-band p{margin-top:12px;color:#E9F3EE;}
.hero-ctas.center{justify-content:center;}
.cta-pill.light{background:var(--linen);color:var(--clay-deep);border-color:var(--linen);}
.cta-pill.light:hover{background:#fff;}
.cta-ghost.light{color:var(--linen);border-color:var(--gold-light);}

/* Contact */
.c-strong{color:#F3E6CE!important;font-weight:500;}
.nap{font-style:normal;margin-top:8px;color:#C8AD84;line-height:1.6;}
.nap strong{color:#F3E6CE;font-weight:500;}
.contact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}

/* Pied de page enrichi (NAP + liens internes) */
.footer-grid{max-width:1120px;margin:0 auto;padding:40px clamp(20px,5vw,48px) 10px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px;font-size:0.86rem;line-height:1.6;}
.footer-grid p,.footer-grid address{font-style:normal;margin-top:6px;}
.footer-grid ul{list-style:none;padding:0;margin:6px 0 0;}
.footer-grid li+li{margin-top:4px;}
.f-brand{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:#F3E6CE;}
.f-brand em{font-family:'Allura',cursive;font-style:normal;color:var(--gold-light);}
.f-title{font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-light);}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}

/* Navigation : 6 liens + bouton → serrer entre 761 et 1100 px */
@media (min-width:761px) and (max-width:1100px){
  nav.links{gap:14px;}
  nav.links a{font-size:0.8rem;}
  .brand-name{font-size:0.92rem;}
  .cta-pill{padding:8px 14px;}
}

/* Données à compléter (visible seulement tant qu'il en reste) */
mark.todo{background:#FFE7A3;color:#6B4B00;padding:0 3px;border-radius:3px;outline:1px dashed #B8901A;}

/* Carte des soins par catégories (même rendu que .menu-cat-head h3 du site) */
.menu-cat-head h2{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;letter-spacing:0.01em;margin:0;}
.quote-aurelie{margin:0 0 36px;padding:22px 26px;border-left:2px solid var(--gold);background:var(--sand);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem;line-height:1.55;color:var(--ink);border-radius:0 12px 12px 0;}
.quote-aurelie span{display:block;margin-top:8px;font-family:'Allura',cursive;font-style:normal;color:var(--clay);font-size:1.3rem;}

/* Polices inspirées de l'affiche : chiffres alignés avec Cormorant Garamond */
body,body *{font-variant-numeric:lining-nums tabular-nums;}
/* Titres de section en calligraphie dorée, comme « Horaires » sur l'affiche */
main h2:not(.h3):not(.sub-h):not(.eyebrow){font-family:'Allura',cursive;font-weight:400;font-style:normal;letter-spacing:0;line-height:1.15;color:var(--gold-text);font-size:clamp(2.3rem,4.4vw,3.3rem);}
main .menu-cat-head h2:not(.h3):not(.sub-h):not(.eyebrow){font-size:2rem;}
main .prose h2:not(.h3):not(.sub-h):not(.eyebrow){font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--ink);font-size:clamp(1.45rem,2.6vw,1.9rem);line-height:1.25;}
main .contact h2:not(.h3):not(.sub-h):not(.eyebrow),main .cta-band h2:not(.h3):not(.sub-h):not(.eyebrow){color:var(--gold-light);}

/* Parcours client : réservation plus directe */
.nav-book{display:none;}
@media (max-width:1060px){
  .nav-inner{gap:10px;}
  .nav-book{display:inline-flex;margin-left:auto;padding:9px 16px;font-size:0.85rem;}
  .nav-book + .burger{margin-left:0;}
}
@media (max-width:820px){
  .hero{padding-block:28px 48px;}
  .hero-figure{order:0;}
  .hero-figure .logo-mark,.hero-figure .ring-mark{width:min(46vw,170px);}
}
.soin-book{margin:14px 0 30px;display:flex;flex-wrap:wrap;gap:10px;}
.cta-pill.small{padding:9px 18px;font-size:0.85rem;}
.price-book{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px;text-decoration:none;}
.price-book .price-cta{font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--clay);text-decoration:underline;text-underline-offset:3px;}
.price-book:hover .price-cta,.price-book:focus-visible .price-cta{color:var(--clay-deep);}
.price-rows dt a{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;}
.req{color:var(--clay);font-weight:600;}
.bk-place{margin:4px 0 0;font-size:0.85rem;color:var(--ink-soft);}
.bk-again{display:inline-block;margin-top:8px;color:var(--clay);}

/* SEO local : étiquettes de la page Contact en H2, même rendu qu'avant */
main h2.eyebrow{display:block;font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;line-height:1.6;margin:0 0 8px;max-width:none;}

/* Logo officiel (image) */
.logo-img{border-radius:50%;height:auto;aspect-ratio:1;}
.brand .logo-img{width:46px;height:46px;}

/* Accueil — accroche « Au-delà des Mots » (textes d'Aurélie, oct. 2026) */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.hero h1.hero-name{font-family:'Cormorant Garamond',serif;font-weight:500;text-transform:uppercase;letter-spacing:0.14em;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.1;color:var(--clay-deep);}
.hero-tagline{margin-top:14px;font-family:'Allura',cursive;color:var(--gold-text);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2;max-width:22ch;}
.hero .lede{margin-top:18px;}
.hero-offer{margin-top:22px;font-family:'Jost',sans-serif;font-size:0.74rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--clay);font-weight:500;line-height:1.8;}
.hero-offer span{color:var(--gold);margin:0 6px;}
.hero-place{margin-top:6px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:var(--ink-soft);}
@media (prefers-reduced-motion: no-preference){.hero-tagline,.hero-offer,.hero-place{animation:rise .7s .12s ease both;}}
.wave-ivory{color:var(--linen);}
.section-lede + .section-lede{margin-top:10px;}
.home-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:980px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.home-grid{grid-template-columns:1fr;}}
.home-grid .svc-card p{font-family:'Cormorant Garamond',serif;font-size:1.02rem;color:var(--ink);}
.pres-photo{overflow:visible;}
.pres-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}
.pres-sign span{color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:1.2rem;margin:0 4px;vertical-align:middle;}
.values-head{text-align:center;margin-bottom:22px;}
.values-head .eyebrow{display:block;}
.values-tea{margin:28px auto 0;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:var(--ink);max-width:52ch;}

/* Rituel signature Au-delà de Soi mis en valeur (doré) */
.signature-box{margin:44px 0 10px;padding:26px 26px 6px;border:1px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,#FBF4E6,var(--linen));box-shadow:0 18px 40px -26px var(--shadow);}
.signature-box h2{margin-top:10px!important;}
.signature-badge{display:inline-block;font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-text);border:1px solid var(--gold);border-radius:999px;padding:4px 12px;}
.univers-photo{margin:24px 0 8px;}
.univers-photo img{width:100%;max-height:420px;object-fit:cover;border-radius:18px;display:block;box-shadow:0 24px 50px -24px var(--shadow);}
.pres-text h2.pres-sub{margin-top:30px;}

/* Titres de page en écriture douce (Allura, comme les titres de section) */
.page-head h1,.menu-head h1,.pres-text h1,.contact h1,.reservation h1,.prose h1{font-family:'Allura',cursive;font-weight:400;letter-spacing:0;line-height:1.1;text-transform:none;}
.page-head h1,.menu-head h1,.pres-text h1,.reservation h1,.prose h1{color:var(--gold-text);font-size:clamp(2.6rem,5vw,3.6rem);}
.contact h1{font-size:clamp(2.6rem,5vw,3.6rem);}
.reiki-direct{padding-top:28px;}
.reiki-direct .prose h1{margin:6px 0 14px;}
/* Bloc Rituel signature de l'accueil : titre dans la même écriture que « Mes soins » */
.sig-home .sig-title{font-family:'Allura',cursive;font-weight:400;color:var(--gold-text);font-size:clamp(2.3rem,4.4vw,3.1rem);line-height:1.1;}

/* Photos : coins arrondis, fin liseré doré, cadres aux proportions fixes */
.photo{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--gold);background:var(--sand);box-shadow:0 14px 34px -24px var(--shadow);}
.photo img{display:block;width:100%;height:100%;object-fit:cover;}
.photo figcaption{padding:10px 12px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;color:var(--ink);text-align:center;background:var(--linen);border-top:1px solid color-mix(in srgb,var(--gold) 45%,transparent);}
.photo-mosaic{display:grid;gap:14px;margin-top:36px;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;}
.photo-mosaic .pm-soin{grid-column:1/3;grid-row:1/3;}
.photo-mosaic .pm-attente{grid-column:3/5;}
.photo-mosaic.n1 .photo,.photo-mosaic.n2 .photo,.photo-mosaic.n3 .photo{grid-row:auto;}
.photo-wide{aspect-ratio:16/10;margin:6px 0 18px;}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:10px 0 26px;}
.photo-row .photo img{aspect-ratio:4/5;height:auto;}
.photo-float{float:right;width:44%;aspect-ratio:4/3;margin:4px 0 14px 22px;}
.photo-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:34px 0 8px;}
.photo-split .photo{aspect-ratio:4/3;}
.photo-split .sig-title{font-family:'Allura',cursive;font-weight:400;color:var(--gold-text);font-size:clamp(2.1rem,4vw,2.8rem);line-height:1.1;margin-bottom:10px;}
.photo-split p + p{margin-top:12px;}
@media (max-width:760px){
  .photo-mosaic{grid-template-columns:1fr;grid-auto-rows:auto;}
  .photo-mosaic .photo{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/3;}
  .photo-mosaic .pm-couloir,.photo-mosaic .pm-miroir{aspect-ratio:3/4;}
  .photo-row{grid-template-columns:1fr;}
  .photo-float{float:none;width:100%;margin:6px 0 16px;}
  .photo-split{grid-template-columns:1fr;gap:16px;}
}
.photo-mosaic.n3{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:360px;}
.photo-mosaic.n3 .pm-soin{grid-column:auto;}
@media (max-width:760px){.photo-mosaic.n3{grid-template-columns:1fr;grid-auto-rows:auto;}}
/* Menu de navigation : même écriture que les noms de soins de la carte (Cormorant Garamond 500, 2026-10-13) */
nav.links a:not(.cta-pill){font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.08rem;letter-spacing:0;color:var(--ink);}
@media (max-width:1060px){ .mobile-nav a:not(.cta-pill){font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.18rem;letter-spacing:0;} }

/* Textes des soins (PDF de la cliente, 2026-10-14) */
.soin-tagline{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.18rem;color:var(--clay-deep);}
.soin-tagline.center{text-align:center;margin-top:18px;}
.soin-price{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.12rem;color:var(--gold-text);letter-spacing:.02em;}
.note-soft{font-style:italic;color:var(--ink-soft);}
.cycles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:12px 0 18px;}
.cycle{border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:14px;padding:16px 18px;background:var(--linen);}
.prose .cycle h3{margin:0 0 6px;font-size:1.15rem;}
.cycle p{margin:0 0 8px;}
.cycle .soin-price{margin:0;}
.prose ul.infos{list-style:none;padding-left:0;}
.prose ul.infos li{margin:0 0 8px;}
/* NATIZIA : nom de marque toujours lisible, même dans un titre manuscrit */
.brand-natizia{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-style:normal;letter-spacing:.08em;font-size:.62em;vertical-align:.08em;}

/* Textes de la cliente (2026-10-16) */
.autre-facon .practices{margin-top:22px;padding:22px 24px;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:16px;background:var(--linen);text-align:center;}
.autre-facon .practices .sig-title{font-family:'Allura',cursive;font-weight:400;color:var(--gold-text);font-size:clamp(2rem,3.8vw,2.6rem);line-height:1.1;margin:6px 0 10px;}
.sig-premium h2.sig-gold{font-family:'Allura',cursive!important;font-weight:400!important;color:var(--gold-text)!important;font-size:clamp(2.2rem,4.2vw,3rem)!important;line-height:1.1;}
.sig-premium .sig-gold-text{color:var(--gold-text);}
.closing{text-align:center;padding-top:34px;}
.closing .closing-sign{font-family:'Allura',cursive;color:var(--gold-text);font-size:1.9rem;margin:4px 0 14px;}
.pres-tag{margin-top:10px;font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--ink-soft);}
.story-more{margin-top:18px;}
.story-more summary{cursor:pointer;display:inline-block;font-family:'Jost',sans-serif;font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay);border-bottom:1px solid var(--gold);padding-bottom:3px;list-style:none;}
.story-more summary::-webkit-details-marker{display:none;}
.story-more[open] summary{display:none;}
.story-more p{margin-top:12px;color:var(--ink-soft);line-height:1.7;}

/* =====================================================================
   Ambiance « Au-delà des Mots » — immersion douce et sensorielle
   Poussière dorée, halo qui respire, ondes de bol chantant, apparitions
   au défilement, lueurs dorées au survol, transitions entre les pages.
   Tout est désactivé si le visiteur préfère réduire les animations.
   ===================================================================== */
:root{
  --aura-gold:184,137,58;          /* --gold en RVB, pour les halos */
  --aura-gold-light:226,196,135;   /* --gold-light */
  --aura-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Transitions douces entre les pages (navigateurs récents) */
@view-transition{navigation:auto;}
::view-transition-old(root){animation:aura-page-out .45s var(--aura-ease) both;}
::view-transition-new(root){animation:aura-page-in .7s var(--aura-ease) both;}
@keyframes aura-page-out{to{opacity:0;filter:blur(3px);}}
@keyframes aura-page-in{from{opacity:0;filter:blur(4px);}}

/* ---------- Scènes lumineuses (héros, en-têtes, bandeaux, pied de page) */
.hero,.page-head,.cta-band,footer{position:relative;isolation:isolate;}
.page-head,.cta-band,footer{overflow:hidden;}
.hero > .wrap,.page-head > .wrap,.cta-band > .wrap,footer > *:not(.aura-dust):not(.aura-light){position:relative;z-index:1;}
.aura-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
/* Lumière qui suit doucement le curseur */
.aura-light{
  position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,40%), rgba(var(--aura-gold-light),.30), transparent 62%);
  transition:opacity 1.2s ease;
}
.aura-lit > .aura-light{opacity:1;}
.cta-band .aura-light,footer .aura-light{background:radial-gradient(420px circle at var(--mx,50%) var(--my,40%), rgba(var(--aura-gold-light),.13), transparent 62%);}

/* ---------- Héros : halo qui respire et ondes du bol chantant */
.hero-figure{isolation:isolate;}
.hero-figure .logo-mark{border-radius:50%;position:relative;z-index:2;}
.hero-figure::before{
  content:"";position:absolute;z-index:0;left:50%;top:50%;
  width:min(96vw,470px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle, rgba(var(--aura-gold-light),.55) 0%, rgba(var(--aura-gold-light),.22) 42%, transparent 70%);
  filter:blur(6px);pointer-events:none;
}
.aura-ripples{position:absolute;inset:0;z-index:1;pointer-events:none;display:grid;place-items:center;}
.aura-ripples span{
  position:absolute;width:min(78vw,360px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(var(--aura-gold),.55);opacity:0;
}

/* Lueur dorée derrière le titre de l'accueil (visible tout de suite, même sur téléphone) */
.hero::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:-15%;top:-20%;width:85%;height:75%;border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(var(--aura-gold-light),.42) 0%, rgba(var(--aura-gold-light),.16) 45%, transparent 70%);
  filter:blur(10px);
}
@media (max-width:760px){
  .hero::before{left:-30%;top:-8%;width:160%;height:55%;}
  .aura-ripples span{border-color:rgba(var(--aura-gold),.75);border-width:1.4px;}
  .hero-figure::before{background:radial-gradient(circle, rgba(var(--aura-gold-light),.75) 0%, rgba(var(--aura-gold-light),.3) 45%, transparent 70%);}
}

/* ---------- Ondes qui ondulent sous les sections */
.wave .aura-swell{opacity:.38;}

/* ---------- Boutons et liens : lueur dorée */
.cta-pill{position:relative;overflow:hidden;isolation:isolate;transition:background .3s ease,color .3s ease,transform .3s var(--aura-ease),box-shadow .5s ease;}
.cta-pill::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(110deg, transparent 30%, rgba(var(--aura-gold-light),.45) 50%, transparent 70%);
  translate:-120% 0;
}
.cta-pill:hover,.cta-pill:focus-visible{box-shadow:0 0 0 1px rgba(var(--aura-gold-light),.55),0 6px 26px -4px rgba(var(--aura-gold),.55);}
.cta-ghost{transition:color .3s ease,border-color .3s ease,text-shadow .4s ease;}
.cta-ghost:hover,.cta-ghost:focus-visible{text-shadow:0 0 18px rgba(var(--aura-gold),.45);border-color:var(--gold-light);}
footer a{transition:color .3s ease,text-shadow .4s ease;}
footer a:hover,footer a:focus-visible{color:var(--gold-light);text-shadow:0 0 14px rgba(var(--aura-gold-light),.5);}

/* ---------- Cartes de soins : halo qui suit le doigt ou la souris */
.svc-card{position:relative;isolation:isolate;overflow:hidden;transition:border-color .4s ease,transform .5s var(--aura-ease),box-shadow .6s ease;}
.svc-card::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s ease;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%), rgba(var(--aura-gold-light),.38), transparent 65%);
}
.svc-card:hover,.svc-card:focus-visible{border-color:rgba(var(--aura-gold),.55);box-shadow:0 14px 40px -18px rgba(var(--aura-gold),.6);}
.svc-card:hover::before,.svc-card:focus-visible::before{opacity:1;}
.svc-card .from{transition:letter-spacing .5s var(--aura-ease);}
.svc-card:hover .from{letter-spacing:.03em;}

/* ---------- Valeurs (Écouter, Ressentir, Se reconnecter) : chiffres lumineux */
.value .num{display:inline-block;}

/* =====================================================================
   Animations : uniquement si le visiteur ne demande pas à les réduire
   ===================================================================== */
@media (prefers-reduced-motion: no-preference){
  /* Apparitions au défilement (activées par le script, sinon tout reste visible) */
  .aura-js .aura-reveal{
    opacity:0;translate:0 22px;filter:blur(5px);
    transition:opacity .95s var(--aura-ease),translate .95s var(--aura-ease),filter .95s var(--aura-ease);
    transition-delay:var(--aura-delay,0s);
  }
  .aura-js .aura-reveal.aura-in{opacity:1;translate:0 0;filter:none;}

  /* En-têtes des pages : même lever en douceur que l'accueil */
  .page-head .wrap > *{animation:aura-rise .8s var(--aura-ease) both;}
  .page-head .wrap > *:nth-child(2){animation-delay:.08s;}
  .page-head .wrap > *:nth-child(3){animation-delay:.16s;}
  .page-head .wrap > *:nth-child(n+4){animation-delay:.24s;}
  @keyframes aura-rise{from{opacity:0;translate:0 12px;filter:blur(3px);}}

  /* Respiration du halo : environ 6 respirations par minute */
  .hero-figure::before,.hero::before{animation:aura-breathe 10s ease-in-out infinite;}
  .hero-figure .logo-mark{animation:aura-float 10s ease-in-out infinite;}
  @keyframes aura-breathe{
    0%,100%{scale:.86;opacity:.65;}
    50%{scale:1.06;opacity:1;}
  }
  @keyframes aura-float{
    0%,100%{transform:translateY(0) scale(1);}
    50%{transform:translateY(-6px) scale(1.012);}
  }

  /* Ondes du bol chantant : des cercles qui s'élargissent et s'effacent */
  .aura-ripples span{animation:aura-ripple 9s cubic-bezier(.25,.6,.35,1) infinite;}
  .aura-ripples span:nth-child(2){animation-delay:3s;}
  .aura-ripples span:nth-child(3){animation-delay:6s;}
  @keyframes aura-ripple{
    0%{scale:1;opacity:0;}
    8%{opacity:.7;}
    100%{scale:1.55;opacity:0;}
  }

  /* Anneaux décoratifs : rotation imperceptible */
  .hero-bg-ring{animation:aura-turn 120s linear infinite;}
  @keyframes aura-turn{to{rotate:360deg;}}

  /* Vague qui ondule doucement */
  .wave .aura-swell{animation:aura-swell 18s linear infinite;}
  @keyframes aura-swell{to{transform:translateX(-600px);}}

  /* Reflet doré qui traverse les boutons au survol */
  .cta-pill:hover::after,.cta-pill:focus-visible::after{translate:120% 0;transition:translate 1.1s var(--aura-ease);}

  /* Cartes qui s'élèvent */
  .svc-card:hover,.svc-card:focus-visible{transform:translateY(-4px);}

  /* Chiffres romains qui scintillent lentement */
  .value .num{animation:aura-glint 7s ease-in-out infinite;}
  .value:nth-child(2) .num{animation-delay:2.3s;}
  .value:nth-child(3) .num{animation-delay:4.6s;}
  @keyframes aura-glint{
    0%,100%{text-shadow:none;}
    50%{text-shadow:0 0 14px rgba(var(--aura-gold),.55);}
  }
}

/* Mouvement réduit : pas de transition de page, rien ne bouge */
@media (prefers-reduced-motion: reduce){
  @view-transition{navigation:none;}
  .aura-light,.aura-ripples{display:none;}
}


/* ---------- Rituel signature « premium » : paillettes dorées et petite fée */
.signature-box.sig-premium{position:relative;overflow:hidden;padding-right:132px;
  border:1.5px solid var(--gold);
  background:radial-gradient(120% 140% at 100% 0%, rgba(var(--aura-gold-light),.45), transparent 55%), linear-gradient(180deg,#FBF4E6,var(--linen));
  box-shadow:0 22px 46px -24px rgba(var(--aura-gold),.55), inset 0 0 0 4px rgba(255,255,255,.55);}
.sig-premium > *:not(.sig-sparkles):not(.sig-fairy){position:relative;z-index:1;}
.sig-premium .signature-badge{background:linear-gradient(90deg,#B8893A,#E2C487,#B8893A);color:#fff;border-color:transparent;}
.sig-home{margin:34px 0 8px;padding-bottom:12px;}
.sig-home .sig-title{margin-top:12px;font-size:1.45rem;}
.sig-fairy{position:absolute;right:14px;top:14px;width:108px;height:auto;z-index:1;pointer-events:none;
  filter:drop-shadow(0 4px 10px rgba(var(--aura-gold),.25));}
.sig-sparkles{position:absolute;inset:0;pointer-events:none;z-index:0;}
.sig-sparkles i{position:absolute;width:11px;height:11px;opacity:.75;
  background:linear-gradient(135deg,#F6DC9C,#B8893A);
  clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);}
.sig-sparkles i:nth-child(1){right:22px;top:8px;width:9px;height:9px;}
.sig-sparkles i:nth-child(2){right:118px;top:22px;width:7px;height:7px;}
.sig-sparkles i:nth-child(3){right:30px;top:118px;width:13px;height:13px;}
.sig-sparkles i:nth-child(4){right:96px;top:96px;width:8px;height:8px;}
.sig-sparkles i:nth-child(5){left:42%;top:10px;width:8px;height:8px;}
.sig-sparkles i:nth-child(6){left:14px;bottom:16px;width:10px;height:10px;}
.sig-sparkles i:nth-child(7){left:58%;bottom:12px;width:7px;height:7px;}
.sig-sparkles i:nth-child(8){right:150px;bottom:30px;width:12px;height:12px;}
@media (max-width:640px){
  .signature-box.sig-premium{padding-right:26px;padding-top:96px;}
  .sig-fairy{width:84px;right:auto;left:18px;top:6px;}
}
@media (prefers-reduced-motion: no-preference){
  .sig-sparkles i{animation:sig-twinkle 2.6s ease-in-out infinite;}
  .sig-sparkles i:nth-child(2n){animation-duration:3.4s;animation-delay:.6s;}
  .sig-sparkles i:nth-child(3n){animation-duration:2.1s;animation-delay:1.1s;}
  .sig-sparkles i:nth-child(4){animation-delay:1.7s;}
  .sig-fairy{animation:sig-float 5s ease-in-out infinite;}
  .sig-wand-star{transform-box:fill-box;transform-origin:center;animation:sig-star 1.8s ease-in-out infinite;}
  .sig-premium::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
    transform:translateX(-120%);animation:sig-shine 6s ease-in-out infinite;}
}
@keyframes sig-twinkle{0%,100%{opacity:.15;transform:scale(.55) rotate(0deg);}50%{opacity:1;transform:scale(1.15) rotate(25deg);}}
@keyframes sig-float{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-7px) rotate(2deg);}}
@keyframes sig-star{0%,100%{opacity:.75;transform:scale(.9);}50%{opacity:1;transform:scale(1.25);}}
@keyframes sig-shine{0%,60%{transform:translateX(-120%);}85%,100%{transform:translateX(120%);}}
