/* Very Mystik — feuille de style (version légère) */
@font-face{font-family:"Averia";src:url(fonts/averia-serif-libre-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Averia";src:url(fonts/averia-serif-libre-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Averia";src:url(fonts/averia-serif-libre-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --nuit:#120b26;          /* fond profond, dérivé de l'indigo */
  --indigo:#2f1e63;        /* indigo mystique */
  --lavande:#9378d1;       /* lavande fumée */
  --lilas:#cbb4f3;         /* lilas lunaire */
  --astral:#f5f0ff;        /* blanc astral */
  --peche:#ffdac1;         /* dawn peach */
  --argile:#ce8465;        /* grounded clay */
  --orange:#efa791;        /* orange pastel */
  --blanc:#ffffff;
  --serif:"Averia",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mesure:38rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--nuit);color:var(--astral);font:400 1.0625rem/1.65 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
:focus-visible{outline:2px solid var(--peche);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* grain discret pour un rendu organique */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{width:min(100% - 2.5rem, 64rem);margin-inline:auto}
.etroit{max-width:var(--mesure);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.15;margin:0 0 .6em;letter-spacing:-.005em}
h2{font-size:clamp(1.7rem,1.2rem + 2vw,2.4rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.surtitre{font:500 .78rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--lilas);margin-bottom:1rem}

/* boutons */
.btn{display:inline-block;font:500 1rem/1 var(--sans);text-decoration:none;padding:1rem 1.6rem;border-radius:999px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;cursor:pointer}
.btn-chaud{background:var(--peche);color:var(--indigo)}
.btn-chaud:hover{background:var(--orange)}
.btn-ligne{border-color:rgba(245,240,255,.35);color:var(--astral);background:transparent}
.btn-ligne:hover{border-color:var(--astral)}
.btn-indigo{background:var(--indigo);color:var(--astral)}
.btn-indigo:hover{background:#3d2a7c}

/* en-tête */
.entete{position:absolute;top:0;left:0;right:0;z-index:5}
.entete .wrap{display:flex;justify-content:flex-end;gap:1.4rem;padding-block:1.25rem;font-size:.9rem}
.entete a{text-decoration:none;color:var(--astral)}
.entete a:hover{color:var(--peche)}

/* accueil */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;padding:6rem 0 4rem;overflow:hidden;
  background:radial-gradient(ellipse 70% 55% at 50% 38%, rgba(147,120,209,.22), transparent 70%),var(--nuit)}
.hero .logo{width:clamp(150px,22vw,210px);margin:0 auto 2.2rem}
.hero h1{font-size:clamp(2.5rem,1.4rem + 4.5vw,4.6rem);margin:0 -4rem .35em;white-space:nowrap}
@media (max-width:480px){.hero h1{white-space:normal;margin-inline:0}}
.hero .accroche{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1rem + .5vw,1.3rem);color:var(--peche);margin-bottom:1.6rem}
.hero .intro{color:rgba(245,240,255,.85);margin-bottom:2.2rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.lieu{margin-top:2.5rem;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lilas)}

/* rendez-vous */
.rdv{background:var(--astral);color:var(--indigo);padding:clamp(4rem,9vw,7rem) 0}
.rdv .surtitre{color:var(--argile)}
.carte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.date{font-family:var(--serif);line-height:1}
.date .jour{display:block;font-size:clamp(4.5rem,3rem + 6vw,7.5rem);color:var(--indigo)}
.date .mois{display:block;font-size:1.4rem;margin-top:.4rem}
.date .heure{display:block;font:500 .95rem/1.5 var(--sans);margin-top:1.2rem;color:#5b4a8f}
.lune{width:64px;height:64px;border-radius:50%;background:var(--indigo);box-shadow:inset -10px -6px 0 0 #1c1240;margin-bottom:1.8rem}
.rdv h2{color:var(--indigo)}
.rdv .avec{font-family:var(--serif);font-style:italic;color:var(--argile);margin-top:-.3em;margin-bottom:1.3em;font-size:1.15rem}
.infos{list-style:none;padding:0;margin:1.6rem 0 2rem;border-top:1px solid rgba(47,30,99,.15)}
.infos li{display:flex;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(47,30,99,.15);font-size:.97rem}
.infos b{font-weight:600;min-width:6.5rem}
.petit{font-size:.85rem;color:#5b4a8f;margin-top:1rem}
.avant-gout{margin:1.8rem 0 2rem}
.avant-gout-titre{font:500 .75rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--argile);margin-bottom:.5rem}
.avant-gout p{font-size:.97rem}
.btn-ligne-indigo{border-color:var(--indigo);color:var(--indigo);background:transparent}
.btn-ligne-indigo:hover{background:var(--indigo);color:var(--astral)}
.btn-ecouter{background:var(--argile);color:var(--blanc);font-weight:600;padding:1.05rem 1.8rem}
.btn-ecouter:hover{background:#b9704f;color:var(--blanc)}
.actions-rdv{display:flex;flex-wrap:wrap;gap:.7rem}

/* pratiques */
.pratiques{padding:clamp(4rem,9vw,7rem) 0;text-align:center}
.nuage{font-family:var(--serif);font-size:clamp(1.2rem,1rem + 1vw,1.6rem);line-height:1.9;color:var(--astral);max-width:52rem;margin:2rem auto 0}
.nuage span{white-space:nowrap}
.nuage span:nth-child(3n+2){color:var(--lilas)}
.nuage span:nth-child(4n){color:var(--peche)}
.nuage i{color:var(--lavande);font-style:normal;margin:0 .45em}

/* club */
.club{padding:clamp(4rem,9vw,7rem) 0;background:linear-gradient(180deg,var(--nuit),var(--indigo))}
.club .cadre{border:1px solid rgba(203,180,243,.3);border-radius:200px 200px 24px 24px;padding:clamp(3rem,7vw,5rem) clamp(1.5rem,5vw,4rem) clamp(2.5rem,5vw,3.5rem);text-align:center;max-width:44rem;margin-inline:auto}
.club p{color:rgba(245,240,255,.88)}

/* lettre */
.lettre{padding:clamp(4rem,9vw,6rem) 0;background:var(--indigo)}
.form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:.7rem;margin-top:1.8rem}
.form input[type=text],.form input[type=email]{width:100%;font:400 1rem var(--sans);padding:.95rem 1.2rem;border-radius:999px;border:1px solid rgba(245,240,255,.3);background:rgba(18,11,38,.45);color:var(--astral)}
.form input::placeholder{color:rgba(245,240,255,.55)}
.form input:focus{outline:none;border-color:var(--peche)}
.mention{font-size:.82rem;color:rgba(245,240,255,.7);margin-top:1rem}
.mention a{color:var(--lilas)}
.mention a:hover,.page p a:hover,.page li a:hover{color:var(--peche)}
.bot{display:none}

/* écouter */
.ecouter{padding:clamp(3.5rem,8vw,5rem) 0;text-align:center}
.liens{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.5rem}

/* pied de page */
.pied{border-top:1px solid rgba(203,180,243,.15);padding:3.5rem 0 2.5rem;font-size:.92rem;color:rgba(245,240,255,.75)}
.pied .grille{display:grid;grid-template-columns:auto 1fr auto;gap:2.5rem;align-items:start}
.pied .marque{width:72px}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{margin-bottom:.35rem}
.pied a{text-decoration:none}
.pied a:hover{color:var(--astral)}
.pied .bas{margin-top:2.5rem;font-size:.8rem;color:rgba(245,240,255,.5);display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}

/* pages simples (mentions, merci) */
.page{padding:7rem 0 5rem}
.page h1{font-size:clamp(2rem,1.5rem + 2vw,2.8rem)}
.page h2{font-size:1.35rem;margin-top:2.2rem}
.page p,.page li{color:rgba(245,240,255,.85)}
.page a{color:var(--lilas)}
.page .retour{display:inline-block;margin-top:2rem}
.page a.btn{text-decoration:none}
.page a.btn-chaud{color:var(--indigo)}
.page a.btn-ligne{color:var(--astral)}
.centre{text-align:center}
.centre .logo{width:120px;margin:0 auto 2rem}

@media (max-width:760px){
  .carte{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .form .btn{width:100%}
  .pied .grille{grid-template-columns:1fr;gap:1.6rem}
  .entete .wrap{justify-content:center}
  .infos b{min-width:5.2rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#titre-pratiques{text-wrap:balance}
