:root{
  --papier:#FEFAFB;
  --nude:#FAEDF1;
  --rose:#E8A0B4;
  --rose-clair:#F0CCD8;
  --rose-voile:#F6E2E8;
  --encre:#1A1A18;
  --gris:#7A736B;
  --gris-pale:#A9A199;
  --or:#A8801C;
  --or-vif:#C59B27;
  --or-clair:#E8D08A;
  --trait:#EDDFE3;
  --trait-pale:#F6EAEE;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--papier);color:var(--encre);
  font-family:'Montserrat',system-ui,-apple-system,sans-serif;
  font-weight:300;font-size:1rem;line-height:1.72;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--rose-clair);color:var(--encre)}

.fr{font-family:'Fraunces',Georgia,serif;font-weight:300;letter-spacing:-.02em;line-height:1.04}
.plume{font-family:'Pinyon Script','Great Vibes',cursive;font-weight:400;letter-spacing:0}

.wrap{max-width:1180px;margin:0 auto;padding:0 40px}

/* étiquette : petites capitales espacées, rôle utilitaire */
.etiq{font-size:.63rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--or);font-weight:400;display:block}

/* ---------- NAV ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:80;
  background:rgba(253,252,250,.86);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s}
nav.pose{border-bottom-color:var(--trait)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 0}
.marque{display:flex;align-items:center;gap:11px;text-decoration:none;min-height:44px}
.marque .mono{width:40px;height:46px;flex-shrink:0}
.marque b{display:block;font-family:'Montserrat',sans-serif;
  font-size:1.08rem;font-weight:400;line-height:1.05;color:#2B2B2B;
  text-align:center;letter-spacing:-.005em;white-space:nowrap}
/* filet doré entre le nom et le sous-titre, comme sur le logo */
.marque .filet-or{display:block;height:1px;margin:5px auto 4px;
  background:linear-gradient(90deg,#C59B27,#F3E5AB,#A37C1E);opacity:.75}
.marque small{display:block;font-size:.5rem;letter-spacing:.58em;
  text-transform:uppercase;color:#555555;font-weight:300;
  margin-right:-.58em;text-align:center}
.liens{display:flex;align-items:center;gap:34px}
.liens a{text-decoration:none;font-size:.82rem;color:var(--gris);
  letter-spacing:.02em;position:relative;padding:4px 0;transition:color .25s}
.liens a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--or-vif);transition:width .32s ease}
.liens a:hover{color:var(--encre)}
.liens a:hover::after{width:100%}
.liens .tel{color:var(--encre);font-weight:400}
.burger{display:none;background:none;border:0;cursor:pointer;
  width:44px;height:44px;flex-direction:column;justify-content:center;
  align-items:flex-end;gap:6px;margin-right:-8px}
.burger span{display:block;height:1px;background:var(--encre);transition:.3s}
.burger span:nth-child(1){width:22px}
.burger span:nth-child(2){width:15px}

/* ---------- ACCUEIL ---------- */
header{padding:210px 0 110px;position:relative;overflow:hidden}
header>.wrap{position:relative;z-index:2}
.accueil-fond{position:absolute;inset:0;z-index:0}
.accueil-fond img{width:100%;height:100%;object-fit:cover;object-position:88% 30%;transform:scale(1.18)}
.accueil-voile{position:absolute;inset:0;
  background:linear-gradient(100deg,
    #FEFAFB 0%,
    rgba(254,250,251,.95) 24%,
    rgba(254,250,251,.74) 42%,
    rgba(254,250,251,.36) 58%,
    rgba(254,250,251,.08) 74%,
    rgba(254,250,251,0) 88%)}
.h-etiq{margin-bottom:34px}
h1{font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:clamp(3rem,9.2vw,7rem);line-height:.94;letter-spacing:-.035em;
  max-width:13ch}
h1 em{font-style:normal;color:var(--or)}
.h-bas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:56px;align-items:end;margin-top:56px}
.h-texte{font-size:1.06rem;color:var(--gris);max-width:44ch}
.h-actes{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

.btn{display:inline-block;text-decoration:none;background:var(--encre);color:var(--papier);
  padding:15px 30px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  font-family:inherit;font-weight:400;border:1px solid var(--encre);cursor:pointer;
  transition:background .28s,color .28s}
.btn:hover{background:transparent;color:var(--encre)}
.btn-nu{background:transparent;color:var(--encre);border-color:var(--trait)}
.btn-nu:hover{background:var(--encre);color:var(--papier);border-color:var(--encre)}

/* disponibilités : le détail vivant de l'accueil */
.dispo{border-top:1px solid var(--encre);padding-top:18px}
.dispo-tete{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-bottom:14px}
.dispo ul{list-style:none}
.dispo li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding:11px 0;border-bottom:1px solid var(--trait-pale);font-size:.92rem}
.dispo li:last-child{border-bottom:0}
.dispo li b{font-weight:400}
.dispo li span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--or)}

/* ---------- SECTIONS ---------- */
section{padding:110px 0}
.sec-tete{max-width:52ch;margin-bottom:64px}
.sec-tete .etiq{margin-bottom:20px}
.sec-tete h2{font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.02;letter-spacing:-.028em;
  margin-bottom:18px}
.sec-tete p{color:var(--gris);font-size:1.02rem}

/* ---------- LA CARTE : index typographique ---------- */
.carte-note{display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  flex-wrap:wrap;padding-bottom:14px;margin-bottom:4px}
.carte-note span{font-size:.63rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gris-pale)}

.soin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);
  gap:24px 56px;align-items:baseline;padding:38px 0;
  border-top:1px solid var(--trait);position:relative}
.soin:last-of-type{border-bottom:1px solid var(--trait)}
/* le filet se dore au survol : la seule ornementation de la page */
.soin::before{content:'';position:absolute;top:-1px;left:0;height:1px;width:0;
  background:linear-gradient(90deg,#C59B27,#E8D08A 52%,#E8A0B4);transition:width .65s cubic-bezier(.22,.72,.2,1)}
.soin:hover::before,.soin:focus-within::before{width:100%}
.soin h3{font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:clamp(1.75rem,3.9vw,2.85rem);line-height:1.03;letter-spacing:-.035em}
.soin-texte p{font-size:.94rem;color:var(--gris);max-width:46ch}
.soin-texte .tarif{display:block;margin-top:14px;font-size:.63rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--or)}

/* photo d'un soin : sur ordinateur, une vraie vignette bien visible à côté du texte */
.soin-fond{grid-template-columns:minmax(0,1fr) minmax(0,.55fr) 190px}
.soin-photo{position:relative;grid-column:3;align-self:center;
  width:190px;height:190px;overflow:hidden;margin:0}
.soin-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%;
  transition:transform 1.4s cubic-bezier(.22,.72,.2,1)}
.soin:hover .soin-photo img{transform:scale(1.06)}
.soin-photo::after{content:none}
.soin-fond .soin-texte p{color:var(--gris)}
.soin-fond>h3{color:var(--encre)}
.soin>h3,.soin>.soin-texte{position:relative;z-index:2}
.soin::before{z-index:3}

.carte-pied{margin-top:44px;font-size:.9rem;color:var(--gris);max-width:56ch}
.carte-pied a{color:var(--encre);text-underline-offset:4px}

/* lien discret vers le détail d'un soin, dans la carte */
.soin-lien{display:inline-block;margin-top:16px;font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--or);text-decoration:none;
  border-bottom:1px solid var(--trait);padding-bottom:3px;transition:border-color .28s,color .28s}
.soin-lien:hover{border-bottom-color:var(--or-vif);color:var(--or-vif)}
.soin-lien span{transition:transform .3s ease;display:inline-block}
.soin-lien:hover span{transform:translateX(4px)}

/* ---------- PROTOCOLES VISAGE ---------- */
#visage{background:var(--nude)}
.protocoles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;background:var(--trait);border:1px solid var(--trait)}
.protocole{background:var(--papier);padding:34px 26px 28px;
  display:flex;flex-direction:column;position:relative;
  transition:background .45s ease}
.protocole:hover{background:#FFFFFF}
.protocole::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#C59B27,#E8D08A 52%,#E8A0B4);
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s cubic-bezier(.22,.72,.2,1)}
.protocole:hover::before,.protocole:focus-within::before{transform:scaleX(1)}
.protocole-tete{display:flex;align-items:baseline;justify-content:space-between;
  gap:14px;margin-bottom:18px}
.protocole-num{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:1.5rem;
  line-height:1;color:var(--or-clair);letter-spacing:-.03em}
.protocole-duree{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--or);white-space:nowrap;border:1px solid var(--trait);padding:5px 9px}
.protocole h3{font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:1.42rem;line-height:1.12;letter-spacing:-.025em;margin-bottom:10px}
.protocole-pour{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gris-pale);display:block;margin-bottom:16px}
.protocole p{font-size:.86rem;line-height:1.75;color:var(--gris);flex-grow:1}
.protocole-lien{margin-top:20px;padding-top:14px;border-top:1px solid var(--trait);
  font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or);
  text-decoration:none;transition:color .24s}
.protocole-lien:hover{color:var(--or-vif)}

/* le quatrième soin, le plus complet : légèrement mis en avant */
.protocole-signature{background:linear-gradient(168deg,#FFFFFF 0%,#FDF5F7 58%,#FAF1E2 100%)}
.protocole-signature::before{transform:scaleX(1)}
.protocole-signature .protocole-num{color:var(--or-vif)}
.protocole-signature .protocole-duree{border-color:var(--or-clair);color:var(--or)}
.protocole-sceau{position:absolute;top:0;right:0;font-size:.55rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--or);background:rgba(255,255,255,.9);
  padding:6px 10px;border-left:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.protocole-signature .protocole-tete{padding-right:86px}

@media(max-width:980px){
  .protocoles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .protocoles{grid-template-columns:1fr}
  .protocole{padding:30px 22px 26px}
}

/* ---------- PRODUITS ---------- */
.produits{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:64px;align-items:center}
.produits-texte p{color:var(--gris);max-width:52ch;margin-bottom:16px}
.produits-texte p strong{color:var(--encre);font-weight:400}
.produits-note{font-size:.82rem!important;color:var(--gris-pale)!important}
.produits-texte .btn{margin-top:8px}
.produits-marque{border-top:1px solid var(--encre);padding-top:20px;text-align:left}
.produits-nom{font-size:clamp(2.1rem,3.6vw,2.8rem);font-weight:300;line-height:1.02;
  letter-spacing:-.03em;color:var(--encre);margin:14px 0 10px}
.produits-depuis{font-size:.74rem;letter-spacing:.1em;color:var(--gris-pale)}

/* ---------- BOUTIQUE ---------- */
.boutique-avis{background:#FBEFF2;color:#8A5A63;font-size:.8rem;
  padding:12px 18px;margin-bottom:40px;border-left:2px solid var(--rose)}
.boutique-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:32px}
.produit{display:flex;flex-direction:column}
.produit-vignette{aspect-ratio:1/1;background:linear-gradient(155deg,#FFFFFF 0%,#FBEFF2 55%,#F1E4D8 100%);
  display:flex;align-items:flex-end;padding:14px;position:relative;overflow:hidden}
.produit-vignette::after{content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 70% 25%,rgba(197,155,39,.14),transparent 60%)}
.produit-etiquette{position:relative;z-index:1;font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--or);background:rgba(255,255,255,.85);
  padding:5px 10px}
.produit-vignette-photo img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0}
.produit h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.08rem;
  letter-spacing:-.01em;margin-top:16px}
.produit-desc{font-size:.82rem;color:var(--gris);margin-top:6px;flex-grow:1}
.produit-bas{display:flex;justify-content:space-between;align-items:baseline;
  margin-top:14px;padding-top:12px;border-top:1px solid var(--trait)}
.produit-prix{font-family:'Fraunces',Georgia,serif;font-size:1.05rem;color:var(--gris-pale)}
.produit-prix-demande{font-size:.9rem;font-style:italic}
.produit-lien{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--or);text-decoration:none;border-bottom:1px solid transparent;
  transition:border-color .24s}
.produit-lien:hover{border-color:var(--or)}

/* ---------- CERTIFICATS-CADEAUX ---------- */
#cadeaux{background:linear-gradient(158deg,#FFFDF7 0%,#FCF4E6 46%,#FBEFF2 100%)}
.cadeaux{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
  gap:1px;background:var(--trait);border:1px solid var(--trait)}
.cadeau{background:rgba(255,255,255,.78);padding:32px 16px 28px;text-decoration:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  position:relative;transition:background .4s ease}
.cadeau:hover{background:#FFFFFF}
.cadeau::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#C59B27,#E8D08A 52%,#E8A0B4);
  transform:scaleX(0);transform-origin:center;
  transition:transform .55s cubic-bezier(.22,.72,.2,1)}
.cadeau:hover::before,.cadeau:focus-visible::before{transform:scaleX(1)}
.cadeau b{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:2.15rem;
  line-height:1;letter-spacing:-.035em;color:var(--encre)}
.cadeau span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gris-pale);text-align:center}
.cadeau-libre{background:rgba(255,255,255,.55)}
.cadeau-libre b{font-size:1.5rem;color:var(--or)}
.cadeau-libre span{color:var(--or)}
.cadeau-remise{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:34px;margin-top:44px}
.cadeau-remise div{border-top:1px solid var(--encre);padding-top:18px}
.cadeau-remise .etiq{margin-bottom:9px}
.cadeau-remise p{font-size:.88rem;color:var(--gris)}
@media(max-width:560px){
  .cadeaux{grid-template-columns:1fr 1fr}
  .cadeau{padding:26px 12px 22px}
  .cadeau b{font-size:1.85rem}
}

/* ---------- BANNIÈRE PHOTO ---------- */
section.banniere{padding:0;position:relative;min-height:300px;
  display:flex;align-items:center;overflow:hidden;
  background:linear-gradient(112deg,#FFFFFF 0%,#FDF3F6 42%,#F6DFE7 100%)}
.banniere img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 42%}
.banniere-voile{position:absolute;inset:0;
  background:linear-gradient(90deg,#FFFFFF 0%,rgba(255,255,255,.97) 30%,
    rgba(255,255,255,.72) 55%,rgba(255,255,255,.12) 82%,rgba(255,255,255,0) 100%)}
.banniere-texte{position:relative;z-index:2;width:100%;max-width:1180px;
  margin:0 auto;padding:76px 40px}
.banniere-texte .etiq{margin-bottom:18px}
.banniere-texte h2{font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;letter-spacing:-.03em;
  max-width:17ch;margin-bottom:16px}
.banniere-texte p{color:var(--gris);max-width:34ch;margin-bottom:26px;font-size:1rem}


/* vidéo du salon dans la bannière */
.banniere-duo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:56px;align-items:center}
.banniere-media{position:relative;margin:0;width:300px;aspect-ratio:816/1104;
  background:var(--rose-voile);box-shadow:0 24px 60px -28px rgba(26,26,24,.35)}
.banniere-media::before{content:'';position:absolute;inset:-10px 10px 10px -10px;
  border:1px solid var(--or-vif);opacity:.55;z-index:0;pointer-events:none}
.banniere-media video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){
  .banniere-duo{grid-template-columns:minmax(0,1fr);gap:36px;justify-items:start}
  .banniere-media{width:min(100%,300px);margin-left:10px}
}

.pied-villes{font-size:.72rem;color:var(--gris-pale);letter-spacing:.02em}
/* ---------- ISABELLE ---------- */
#isabelle{background:var(--nude)}
.iso{max-width:74ch}
.iso blockquote{font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:clamp(1.5rem,2.9vw,2.15rem);line-height:1.26;letter-spacing:-.022em;
  margin-bottom:26px}
.iso p{color:var(--gris);margin-bottom:16px}
.signature{font-family:'Pinyon Script','Great Vibes',cursive;font-size:2rem;
  color:var(--or);margin-top:26px;line-height:1}
.reperes{list-style:none;margin-top:34px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px}
.reperes b{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:2.1rem;
  display:block;line-height:1;letter-spacing:-.03em}
.reperes span{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gris);display:block;margin-top:8px}

/* ---------- LA VISITE ---------- */
.etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:44px}
.etape{border-top:1px solid var(--encre);padding-top:20px}
.etape .etiq{margin-bottom:12px}
.etape h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.16rem;
  margin-bottom:8px;letter-spacing:-.012em}
.etape p{font-size:.88rem;color:var(--gris)}

/* ---------- QUESTIONS ---------- */
.faq{max-width:840px}
.faq details{border-top:1px solid var(--trait)}
.faq details:last-of-type{border-bottom:1px solid var(--trait)}
.faq summary{cursor:pointer;list-style:none;padding:22px 46px 22px 0;position:relative;
  font-family:'Fraunces',Georgia,serif;font-size:1.15rem;font-weight:400;
  letter-spacing:-.012em;transition:color .24s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--or)}
.faq summary::before,.faq summary::after{content:'';position:absolute;right:4px;
  top:50%;background:var(--or-vif);transition:transform .3s}
.faq summary::before{width:13px;height:1px;transform:translateY(-50%)}
.faq summary::after{width:1px;height:13px;transform:translate(6px,-50%)}
.faq details[open] summary::after{transform:translate(6px,-50%) scaleY(0)}
.faq details p{padding:0 46px 24px 0;color:var(--gris);font-size:.93rem}
.faq details a{color:var(--or)}
.faq details strong{color:var(--encre);font-weight:400}

/* ---------- RENDEZ-VOUS ---------- */
#rendezvous{background:var(--nude)}
.rdv{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:66px}
.champ{margin-bottom:22px}
.champ label{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gris);margin-bottom:8px}
.champ input,.champ select,.champ textarea{width:100%;padding:12px 0;border:0;
  border-bottom:1px solid var(--trait);background:transparent;font-family:inherit;
  font-size:1rem;font-weight:300;color:var(--encre);border-radius:0;
  transition:border-color .26s}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:0;
  border-bottom-color:var(--or-vif)}
.champ textarea{resize:vertical;min-height:96px}
fieldset.champ{border:0;padding:0;margin-bottom:22px}
fieldset.champ legend{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gris);margin-bottom:10px;padding:0}
.creneaux{display:flex;flex-wrap:wrap;gap:9px}
.creneaux label{cursor:pointer;position:relative}
.creneaux input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;
  margin:0;cursor:pointer}
.creneaux span{display:flex;align-items:center;min-height:42px;padding:9px 16px;
  background:var(--papier);border:1px solid var(--trait);
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);
  transition:border-color .25s,color .25s,background .25s}
.creneaux label:hover span{border-color:var(--or-clair);color:var(--encre)}
.creneaux input:checked+span{border-color:var(--or-vif);color:var(--encre);
  background:linear-gradient(150deg,#FFFFFF 0%,#FDF6E9 100%)}
.creneaux input:focus-visible+span{outline:2px solid var(--or);outline-offset:3px}
.champ-aide{font-size:.74rem;color:var(--gris-pale);margin-top:12px}
#confirmation{display:none;margin-top:20px;padding:15px 18px;background:var(--papier);
  border-left:2px solid var(--or-vif);font-size:.9rem}
.merci{display:none;text-align:center;padding:40px 24px;
  background:linear-gradient(160deg,#FFFFFF 0%,#FBEFF2 60%,#F6EAD8 100%);
  border:1px solid var(--or-clair);position:relative;overflow:hidden}
.merci.on{display:block;animation:leve .8s cubic-bezier(.2,.7,.2,1) both}
.merci-sceau{width:64px;height:64px;margin:0 auto 22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 40% 35%,var(--or-clair),var(--or-vif));
  box-shadow:0 12px 30px -12px rgba(165,128,28,.6)}
.merci-sceau svg{width:32px;height:32px}
.merci h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.5rem;
  letter-spacing:-.01em;margin-bottom:12px;color:var(--encre)}
.merci p{color:var(--gris);font-size:.95rem;max-width:34ch;margin:0 auto 8px}
.merci .merci-detail{margin-top:22px;padding-top:18px;border-top:1px solid var(--or-clair);
  font-size:.86rem;color:var(--gris-pale)}
.merci .merci-detail a{color:var(--or);text-decoration:none}
.coord{display:grid;gap:30px;align-content:start}
.coord-bloc{border-top:1px solid var(--encre);padding-top:16px}
.coord-bloc .etiq{margin-bottom:10px}
.coord-bloc p,.coord-bloc a{color:var(--gris);font-size:.95rem;text-decoration:none}
.coord-bloc a:hover{color:var(--or)}
.coord-bloc .fort{color:var(--encre);font-size:1.24rem;font-family:'Fraunces',serif;
  font-weight:400;letter-spacing:-.01em}
.heures{display:grid;gap:9px}
.heures div{display:flex;justify-content:space-between;gap:18px;font-size:.9rem;
  color:var(--gris);padding-bottom:8px;border-bottom:1px solid var(--trait)}
.heures div:last-child{border-bottom:0}
.heures div.ferme{color:var(--gris-pale)}

/* ---------- RÉSEAUX SOCIAUX ---------- */
.reseaux{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.reseaux a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  color:var(--gris);font-size:.82rem;transition:color .24s}
.reseaux a:hover{color:var(--or)}
.reseaux svg{width:19px;height:19px;flex-shrink:0}

/* ---------- PIED ---------- */
footer{border-top:1px solid var(--trait);padding:60px 0 44px;font-size:.84rem;
  color:var(--gris)}
.pied-haut{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:36px;padding-bottom:38px;margin-bottom:30px;border-bottom:1px solid var(--trait)}
.pied-haut .etiq{margin-bottom:12px}
.pied-haut p{font-size:.84rem;line-height:1.75}
.pied-haut a{color:var(--gris);text-decoration:none}
.pied-haut a:hover{color:var(--or)}
.pied-bas{display:flex;justify-content:space-between;align-items:center;gap:22px;
  flex-wrap:wrap;font-size:.76rem;color:var(--gris-pale)}
.pied-marque{display:flex;align-items:center;gap:10px}
.pied-marque .mono{width:30px;height:35px}
.pied-marque .plume{font-family:'Montserrat',sans-serif;font-size:1rem;color:#2B2B2B;
  font-weight:400;display:block;line-height:1.05;text-align:center;white-space:nowrap}
.pied-nom .filet-or{display:block;height:1px;margin:5px auto 4px;
  background:linear-gradient(90deg,#C59B27,#F3E5AB,#A37C1E);opacity:.75}
.pied-nom small{display:block;font-size:.46rem;letter-spacing:.58em;
  text-transform:uppercase;color:#555555;font-weight:300;
  margin-right:-.58em;text-align:center}
.pied-bas a{color:var(--gris-pale);text-decoration:none}
.pied-bas a:hover{color:var(--or)}

/* ---------- MOUVEMENT ---------- */
.monte{opacity:0;transform:translateY(18px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.22,.72,.2,1)}
.monte.vu{opacity:1;transform:none}
.ouv{opacity:0;transform:translateY(22px);
  animation:leve .95s cubic-bezier(.22,.72,.2,1) forwards}
@keyframes leve{to{opacity:1;transform:none}}

/* ---------- EFFETS SPÉCIAUX ---------- */
/* poussière d'or flottante dans l'accueil */
.poussiere{position:absolute;inset:0;z-index:1;pointer-events:none;
  opacity:0;transition:opacity 1.6s ease .3s}
.poussiere.on{opacity:1}

/* brillance qui balaie le grand titre */
header h1{position:relative;background-image:linear-gradient(105deg,
    var(--encre) 0%,var(--encre) 38%,var(--or-vif) 47%,var(--or-clair) 50%,
    var(--or-vif) 53%,var(--encre) 62%,var(--encre) 100%);
  background-size:280% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:var(--encre)}
header h1.brille{animation:leve .95s cubic-bezier(.22,.72,.2,1) .14s forwards,
  balai-titre 2.6s cubic-bezier(.5,.1,.3,1) .6s 1 forwards}
@keyframes balai-titre{
  0%{background-position:100% 0;-webkit-text-fill-color:transparent}
  100%{background-position:-40% 0;-webkit-text-fill-color:var(--encre)}}
header h1 em{-webkit-text-fill-color:currentColor}

/* cartes de soins : léger relief 3D + halo doré qui suit le curseur */
.soin{position:relative;transform-style:preserve-3d;
  transition:transform .5s cubic-bezier(.22,.72,.2,1),box-shadow .5s ease}
.soin::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  border-radius:inherit;opacity:0;transition:opacity .45s ease;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),
    rgba(197,155,39,.16),rgba(232,160,180,.08) 45%,transparent 70%)}
.soin.relief{box-shadow:0 26px 50px -30px rgba(120,80,40,.35)}
.soin.relief::after{opacity:1}
.soin .soin-photo,.soin>h3,.soin>.soin-texte{transform:translateZ(28px)}

/* reflet doré qui traverse les boutons au survol */
.btn{position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;top:0;left:-120%;width:70%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(232,208,138,.55),transparent);
  transform:skewX(-18deg);transition:none;pointer-events:none}
.btn:hover::before{animation:reflet-btn .85s ease}
@keyframes reflet-btn{to{left:130%}}

@media(prefers-reduced-motion:reduce){
  .poussiere{display:none}
  header h1{animation:none;-webkit-text-fill-color:var(--encre)}
  .soin{transform:none!important}
  .soin::after{display:none}
  .btn::before{display:none}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
  .wrap{padding:0 30px}
  header{padding:160px 0 84px}
  .h-bas,.iso,.rdv{grid-template-columns:1fr;gap:44px}
  .iso-portrait{max-width:330px}
  section{padding:82px 0}
  .liens{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;background:var(--papier);
    border-bottom:1px solid var(--trait);padding:6px 30px 22px}
  .liens.ouvert{display:flex}
  .liens a{padding:15px 0;border-bottom:1px solid var(--trait-pale);font-size:.95rem}
  .liens .btn{margin-top:16px;text-align:center;border-bottom:1px solid var(--encre)}
  .burger{display:flex}
}
@media(max-width:760px){
  .soin{grid-template-columns:1fr;gap:14px;padding:30px 0}
  /* sur mobile aussi, la photo reste une vraie image visible, en haut du texte */
  .soin-fond{grid-template-columns:1fr}
  .soin-fond .soin-photo{grid-column:1;order:-1;width:100%;height:220px;
    margin-bottom:6px}
  /* sur mobile, les photos d'ongles sont plus hautes et mieux cadrées
     pour qu'on voie bien les ongles */
  .soin-ongles .soin-photo{height:300px}
  .soin-ongles .soin-photo img{object-position:center 50%}
  .sec-tete{margin-bottom:44px}
  .accueil-fond img{object-position:50% 50%;transform:scale(1.35)}
  .accueil-voile{background:linear-gradient(182deg,
    #FEFAFB 0%,rgba(254,250,251,.94) 28%,rgba(254,250,251,.66) 48%,
    rgba(254,250,251,.28) 68%,rgba(254,250,251,.05) 86%,rgba(254,250,251,0) 100%)}
  .boutique-grille{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px}
  section.banniere{min-height:0}
  .banniere-texte{padding:56px 30px}
  .banniere-voile{background:linear-gradient(180deg,#FFFFFF 0%,rgba(255,255,255,.96) 46%,
    rgba(255,255,255,.62) 74%,rgba(255,255,255,.1) 100%)}
  .banniere-texte h2,.banniere-texte p{max-width:none}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  header{padding:132px 0 66px}
  section{padding:64px 0}
  h1{font-size:clamp(2.4rem,11vw,3.4rem)}
  .h-actes{flex-direction:column;align-items:stretch}
  .h-actes .btn{text-align:center;padding:16px 24px}
  .reperes{grid-template-columns:1fr 1fr;gap:20px}
  .etapes{gap:32px}
  .faq summary{font-size:1.03rem;padding-right:38px}
  .faq details p{padding-right:0}
  #formulaire .btn{width:100%}
  .pied-bas{flex-direction:column;align-items:flex-start;gap:12px}
}
@media(max-width:820px){
  .champ input,.champ select,.champ textarea{font-size:16px}
}

/* ---------- BARRE FLOTTANTE (mobile seulement) ---------- */
.barre-flottante{display:none}
@media(max-width:980px){
  .barre-flottante{
    display:flex;align-items:center;justify-content:space-between;gap:4px;
    position:fixed;left:14px;right:14px;bottom:14px;z-index:70;
    background:rgba(26,26,24,.94);backdrop-filter:blur(10px);
    padding:10px 12px;border-radius:2px;
    box-shadow:0 10px 30px rgba(0,0,0,.22);
    padding-bottom:calc(10px + env(safe-area-inset-bottom));
  }
  .barre-flottante a{color:#EFE9E2;display:flex;align-items:center;justify-content:center;
    width:42px;height:42px;flex-shrink:0;text-decoration:none;transition:opacity .2s}
  .barre-flottante a:active{opacity:.6}
  .barre-flottante svg{width:20px;height:20px}
  .bf-central{flex:1;width:auto!important;height:44px!important;
    background:linear-gradient(100deg,#C59B27,#E8D08A 55%,#A8801C);
    color:#1A1A18!important;font-family:'Montserrat',sans-serif;font-weight:500;
    font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
    border-radius:1px;margin:0 6px}
}
@media(prefers-reduced-motion:no-preference){
  .barre-flottante{transition:transform .35s ease}
  .barre-flottante.cachee{transform:translateY(130%)}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .monte{opacity:1;transform:none}
  .ouv{opacity:1;transform:none}
  .barre i{width:var(--w)!important}
}

/* ---------- url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%20transform%3D%22rotate%28-35%2016%2016%29%22%3E%3Cpath%20d%3D%22M11.5%2013%20L11.5%207%20Q11.5%205.6%2012.8%205.1%20L19%202.6%20Q20.5%202%2020.5%203.6%20L20.5%2013%20Z%22%20fill%3D%22%23D8536F%22%2F%3E%3Cpath%20d%3D%22M13.2%2012.6%20L13.2%207.4%20Q13.2%206.6%2013.9%206.3%20L15.6%205.6%20L15.6%2012.6%20Z%22%20fill%3D%22%23EC93A6%22%20opacity%3D%22.6%22%2F%3E%3Crect%20x%3D%2210.6%22%20y%3D%2212.9%22%20width%3D%2210.8%22%20height%3D%2212.7%22%20rx%3D%221.2%22%20fill%3D%22%23C59B27%22%2F%3E%3Crect%20x%3D%2210.6%22%20y%3D%2212.9%22%20width%3D%2210.8%22%20height%3D%222.5%22%20fill%3D%22%23A37C1E%22%2F%3E%3Crect%20x%3D%2212.5%22%20y%3D%2216.4%22%20width%3D%221.9%22%20height%3D%227.2%22%20rx%3D%22.9%22%20fill%3D%22%23F3E5AB%22%20opacity%3D%22.65%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 2 ROUGE À LÈVRES (ordinateur seulement) ---------- */
@media (hover:hover) and (pointer:fine){
  body{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%20transform%3D%22rotate%28-35%2016%2016%29%22%3E%3Cpath%20d%3D%22M11.5%2013%20L11.5%207%20Q11.5%205.6%2012.8%205.1%20L19%202.6%20Q20.5%202%2020.5%203.6%20L20.5%2013%20Z%22%20fill%3D%22%23D8536F%22%2F%3E%3Cpath%20d%3D%22M13.2%2012.6%20L13.2%207.4%20Q13.2%206.6%2013.9%206.3%20L15.6%205.6%20L15.6%2012.6%20Z%22%20fill%3D%22%23EC93A6%22%20opacity%3D%22.6%22%2F%3E%3Crect%20x%3D%2210.6%22%20y%3D%2212.9%22%20width%3D%2210.8%22%20height%3D%2212.7%22%20rx%3D%221.2%22%20fill%3D%22%23C59B27%22%2F%3E%3Crect%20x%3D%2210.6%22%20y%3D%2212.9%22%20width%3D%2210.8%22%20height%3D%222.5%22%20fill%3D%22%23A37C1E%22%2F%3E%3Crect%20x%3D%2212.5%22%20y%3D%2216.4%22%20width%3D%221.9%22%20height%3D%227.2%22%20rx%3D%22.9%22%20fill%3D%22%23F3E5AB%22%20opacity%3D%22.65%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 2, auto}
  a,button,summary,label,select,.soin{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%20transform%3D%22rotate%28-35%2016%2016%29%22%3E%3Cpath%20d%3D%22M11.5%2013%20L11.5%207%20Q11.5%205.6%2012.8%205.1%20L19%202.6%20Q20.5%202%2020.5%203.6%20L20.5%2013%20Z%22%20fill%3D%22%23D8536F%22%2F%3E%3Cpath%20d%3D%22M13.2%2012.6%20L13.2%207.4%20Q13.2%206.6%2013.9%206.3%20L15.6%205.6%20L15.6%2012.6%20Z%22%20fill%3D%22%23EC93A6%22%20opacity%3D%22.6%22%2F%3E%3Crect%20x%3D%2210.6%22%20y%3D%2212.9%22%20width%3D%2210.8%22%20height%3D%2212.7%22%20rx%3D%221.2%22%20fill%3D%22%23C59B27%22%2F%3E%3Crect%20x%3D%2210.6%22%20y%3D%2212.9%22%20width%3D%2210.8%22%20height%3D%222.5%22%20fill%3D%22%23A37C1E%22%2F%3E%3Crect%20x%3D%2212.5%22%20y%3D%2216.4%22%20width%3D%221.9%22%20height%3D%227.2%22%20rx%3D%22.9%22%20fill%3D%22%23F3E5AB%22%20opacity%3D%22.65%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M3.5%209.5%20Q7.5%204.5%2012.5%203.5%22%20stroke%3D%22%23D8536F%22%20stroke-width%3D%222.2%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E") 12 2, pointer}
  input,textarea{cursor:text}
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible{outline:2px solid var(--or);outline-offset:4px}

/* ---------- OPTIMISATION : confiance, premier rendez-vous, note hero ---------- */
.h-note{margin-top:18px;font-size:.74rem;letter-spacing:.06em;color:var(--gris)}
.confiance{background:var(--nude);padding:34px 0}
.confiance ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px 30px;text-align:center}
.confiance b{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.15rem;display:block;letter-spacing:-.012em}
.confiance span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);display:block;margin-top:4px}
#premier{background:var(--nude)}
#premier .sec-tete{margin-bottom:48px}
#premier .etape{border-top-color:var(--or-vif)}
#premier .btn{margin-top:44px}
@media(max-width:560px){.confiance{padding:28px 0}.confiance ul{grid-template-columns:1fr 1fr;gap:20px 14px}}

/* ============ PAGES INTERNES (services, produits) ============ */
.fil{padding:116px 0 0}
.fil ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.74rem;letter-spacing:.05em;color:var(--gris-pale)}
.fil li+li::before{content:'›';margin-right:10px;color:var(--or-vif)}
.fil a{text-decoration:none;color:var(--gris)}
.fil a:hover{color:var(--or)}
.page-hero{padding:34px 0 88px}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.82fr);gap:64px;align-items:center}
.page-hero h1{max-width:none;font-size:clamp(2.25rem,5.2vw,4rem);line-height:1;letter-spacing:-.032em;margin:20px 0 24px}
.ph-lead{font-size:1.08rem;color:var(--gris);max-width:50ch}
.ph-actes{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.ph-note{margin-top:16px;font-size:.74rem;letter-spacing:.06em;color:var(--gris)}
.ph-photo{margin:0;position:relative;background:var(--rose-voile);box-shadow:0 24px 60px -28px rgba(26,26,24,.35)}
.ph-photo::before{content:'';position:absolute;inset:-10px 10px 10px -10px;border:1px solid var(--or-vif);opacity:.55;z-index:0;pointer-events:none}
.ph-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.ph-photo.portrait{aspect-ratio:4/5}
.ph-photo.paysage{aspect-ratio:3/2}
.ph-photo.carre{aspect-ratio:1/1;max-width:520px}
.fiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px 28px;margin-top:40px;max-width:640px}
.fiche div{border-top:1px solid var(--encre);padding-top:12px}
.fiche dt{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.fiche dd{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.05rem;line-height:1.3;margin-top:6px;letter-spacing:-.01em}

.bloc{padding:84px 0;border-top:1px solid var(--trait)}
.bloc.fond{background:var(--nude);border-top:0}
.bloc-grille{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.bloc-grille.large{grid-template-columns:1fr;gap:36px}
.bloc-tete .etiq{margin-bottom:16px}
.bloc-tete h2{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.04;letter-spacing:-.028em;max-width:16ch}
.bloc-grille.large .bloc-tete h2{max-width:24ch}
.bloc-corps>p{color:var(--gris);margin-bottom:16px;max-width:62ch}
.bloc-corps p strong{color:var(--encre);font-weight:400}
.bloc-corps a{color:var(--or);text-underline-offset:3px}
.liste-or{list-style:none;margin:4px 0 22px;max-width:62ch}
.liste-or li{padding:13px 0 13px 28px;border-bottom:1px solid var(--trait-pale);position:relative;font-size:.97rem}
.liste-or li:first-child{border-top:1px solid var(--trait-pale)}
.liste-or li::before{content:'';position:absolute;left:0;top:50%;width:13px;height:1px;background:var(--or-vif)}
.liste-or li b{font-weight:400;color:var(--encre)}
.liste-or li{color:var(--gris)}
.liste-or li a{color:var(--encre)}
.bloc .etapes{margin:6px 0 26px;gap:34px}
.bloc .protocoles{margin:8px 0 6px}
.bloc .protocole-lien{align-self:flex-start}
.bloc-corps .cadeaux{margin:8px 0 22px}
.bloc-corps .cadeau{color:var(--encre)}
.bloc .faq{max-width:840px}
.cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0;border-left:1px solid var(--trait);border-top:1px solid var(--trait)}
.carte-l{border-right:1px solid var(--trait);border-bottom:1px solid var(--trait);background:var(--papier);padding:28px 24px 24px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:background .35s}
.carte-l:hover{background:#fff}
.carte-l h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.22rem;line-height:1.15;letter-spacing:-.02em}
.carte-l p{font-size:.84rem;color:var(--gris);flex-grow:1;line-height:1.6}
.carte-l span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-top:8px}
.appel{padding:84px 0;background:linear-gradient(158deg,#FFFDF7 0%,#FCF4E6 46%,#FBEFF2 100%)}
.appel-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.appel h2{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(1.9rem,4vw,3rem);line-height:1.04;letter-spacing:-.03em;margin:16px 0}
.appel p{color:var(--gris);max-width:44ch}
.appel .heures{margin-top:0}
.pied-heures{margin-top:10px;font-size:.8rem;color:var(--gris-pale)}
.ph-nom{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:1.7rem;color:var(--or)}

.hero-page{position:relative;overflow:hidden;padding:112px 0 96px;background:linear-gradient(158deg,#FFFDF7 0%,#FCF4E6 46%,#FBEFF2 100%)}
.hero-page .fil{padding:0 0 38px}
.hp-photo{position:absolute;top:0;right:0;bottom:0;width:50%;margin:0;z-index:0;background:var(--rose-voile)}
.hp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%);mask-image:linear-gradient(90deg,transparent 0,#000 42%)}
.hp-in{position:relative;z-index:2}
.hp-txt{max-width:600px}
.hero-page h1{max-width:none;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:.98;letter-spacing:-.034em;margin:6px 0 26px}
.hero-page .h-etiq{margin-bottom:18px}
.hero-page .ph-photo,.hp-photo .ph-nom{display:none}
@media(max-width:980px){
  .hero-page{padding:96px 0 60px}
  .hp-photo{position:relative;width:100%;height:300px;margin-bottom:-40px}
  .hp-photo img{-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
  .hero-page .fil{position:relative;z-index:3}
}
.prod-lien{color:inherit;text-decoration:none}
.prod-lien:hover{color:var(--or)}
@media(max-width:980px){
  .fil{padding-top:100px}
  .ph-grid,.bloc-grille,.appel-in{grid-template-columns:1fr;gap:40px}
  .bloc{padding:64px 0}
  .page-hero{padding:26px 0 64px}
  .ph-photo.carre{max-width:380px}
  .appel{padding:64px 0}
}
@media(max-width:560px){
  .bloc{padding:52px 0}
  .ph-actes{flex-direction:column;align-items:stretch}
  .ph-actes .btn{text-align:center;padding:16px 24px}
  .fiche{grid-template-columns:1fr 1fr}
  .carte-l{padding:22px 18px}
}
.champ input,.champ select,.champ textarea{background:#fff!important;color:#1a1a1a!important;padding:12px 14px!important;border:1px solid #d9c9a3!important;border-radius:10px}.champ input::placeholder,.champ textarea::placeholder{color:#8a8a8a}
@media(max-width:980px){.barre-flottante{background:linear-gradient(135deg,rgba(26,26,24,.96),rgba(48,40,30,.96))!important;border:1px solid rgba(232,208,138,.55);border-radius:40px!important;box-shadow:0 12px 34px rgba(0,0,0,.3),0 0 0 4px rgba(232,208,138,.08)!important}.barre-flottante a:not(.bf-central){border-radius:50%;background:rgba(232,208,138,.1);color:#E8D08A!important}.bf-central{border-radius:30px!important;font-weight:600!important;font-size:.78rem!important;background:linear-gradient(100deg,#C59B27,#F3E5AB 50%,#C59B27)!important;background-size:200% 100%!important;box-shadow:0 4px 14px rgba(197,155,39,.45),inset 0 1px 0 rgba(255,255,255,.5);animation:bfBrille 3.5s ease-in-out infinite}.bf-central::before{content:"✦ ";margin-right:4px}}@keyframes bfBrille{0%,100%{background-position:0 0}50%{background-position:100% 0}}@media(prefers-reduced-motion:reduce){.bf-central{animation:none}}
.liens a.btn{position:relative;overflow:hidden;border-radius:30px!important;background:linear-gradient(135deg,#1A1A18,#30281E)!important;border:1px solid #C59B27!important;color:#F3E5AB!important;box-shadow:0 4px 14px rgba(197,155,39,.3)}.bf-central{position:relative;overflow:hidden}.liens a.btn::after,.bf-central::after{content:"";position:absolute;top:-10px;left:-40%;width:34px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#fff 70%,#fff);box-shadow:0 0 8px 2px rgba(255,255,255,.8);transform:rotate(-22deg);pointer-events:none;animation:etoileFilante 3.8s ease-in infinite}@keyframes etoileFilante{0%,62%{left:-40%;top:-10px;opacity:0}66%{opacity:1}86%{opacity:1}92%,100%{left:115%;top:calc(100% + 4px);opacity:0}}@media(prefers-reduced-motion:reduce){.liens a.btn::after,.bf-central::after{animation:none;display:none}}
