/* New Fashion Coiffure — site vitrine : noir, ivoire et or, typographie Cormorant + Inter (polices hébergées sur le site) */
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cormorant-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cormorant-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --ink:#0E0E0E;--ink-2:#1A1A1A;--text:#2A2A2A;--mute:#7C7770;--line:#E6E0D6;
  --ivory:#F6F2EB;--paper:#EFE8DC;--gold:#C8A96A;--gold-2:#B08F4E;--white:#fff;
  --serif:"Cormorant",Georgia,"Times New Roman",serif;--sans:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);--wrap:1200px;--header:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--header)}
body{margin:0;background:var(--ivory);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;color:var(--ink);margin:0;letter-spacing:-.005em}
h1 em,h2 em{font-style:italic;color:var(--gold)}
.wrap{width:min(var(--wrap),100% - 48px);margin:0 auto}
.narrow{max-width:760px}
.kicker{display:block;font:600 11px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-2);margin-bottom:18px}
.lead{font-size:18px;color:#55514B;max-width:620px;margin:18px 0 0}
.muted{color:var(--mute);font-size:14px}
.link{color:var(--gold-2);text-decoration:none;font-weight:500;font-size:14px;letter-spacing:.02em;border-bottom:1px solid transparent;transition:border-color .3s}
.link:hover{border-color:currentColor}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:background .3s var(--ease),color .3s,border-color .3s,transform .3s var(--ease);cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn--gold{background:var(--gold);color:var(--ink)}
.btn--gold:hover{background:#D9BD84}
.btn--line{border-color:rgba(255,255,255,.4);color:#fff}
.btn--line:hover{border-color:#fff}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#333}

/* en-tête */
.top{position:fixed;inset:0 0 auto;z-index:50;height:var(--header);color:#fff;transition:background .35s var(--ease),box-shadow .35s}
.top.is-solid,.legal .top,body:not(.home) .top{background:rgba(14,14,14,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.top__in{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1}
.logo__a{font:500 12px/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
.logo__b{font:italic 500 27px/1 var(--serif);margin-top:3px}
.logo--light{color:#fff}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{font-size:13px;letter-spacing:.06em;text-decoration:none;opacity:.82;transition:opacity .25s}
.nav a:hover{opacity:1}
.top__right{display:flex;align-items:center;gap:14px}
.top__book{padding:12px 18px}
.langs{position:relative}
.langs summary{list-style:none;cursor:pointer;font:600 11px/1 var(--sans);letter-spacing:.18em;padding:9px 10px;border:1px solid rgba(255,255,255,.25)}
.langs summary::-webkit-details-marker{display:none}
.langs__list{position:absolute;right:0;top:calc(100% + 8px);background:#141414;min-width:170px;padding:8px 0;box-shadow:0 20px 40px rgba(0,0,0,.35)}
.langs__list a{display:block;padding:9px 16px;font-size:14px;text-decoration:none;color:#ddd}
.langs__list a:hover,.langs__list a[aria-current]{color:var(--gold)}
.burger{display:none;width:40px;height:40px;background:none;border:0;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:8px}
.burger span{display:block;height:1.5px;background:#fff;transition:transform .3s}

/* héros */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:var(--ink);overflow:hidden}
.hero__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58;transform:scale(1.04);animation:heroZoom 18s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,.15) 0%,rgba(14,14,14,.35) 45%,rgba(14,14,14,.92) 100%)}
.hero__in{position:relative;z-index:1;padding:140px 0 110px}
.hero .kicker{color:var(--gold)}
.hero h1{color:#fff;font-size:clamp(50px,8vw,112px);max-width:900px}
.hero__sub{font-size:clamp(17px,1.6vw,20px);color:rgba(255,255,255,.82);max-width:560px;margin:26px 0 0}
.hero__scroll{position:absolute;z-index:1;left:50%;bottom:28px;width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:scrollHint 2.4s ease-in-out infinite}
@keyframes scrollHint{0%,100%{opacity:.3;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}

.notice{margin-top:-1px;background:var(--gold);color:var(--ink);padding:14px 22px;font-size:14px;width:100%;max-width:none;text-align:center}
.notice p{margin:4px 0}

/* sections */
.section{padding:clamp(80px,10vw,140px) 0}
.section--dark{background:var(--ink);color:#cfcac2}
.section--dark h2{color:#fff}.section--dark .lead{color:#a9a39a}
.section--paper{background:var(--paper)}
.head{margin-bottom:56px}
.head--center{text-align:center}.head--center .lead{margin-left:auto;margin-right:auto}
h2{font-size:clamp(40px,5vw,66px)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(14,14,14,.35)}
.card__img{aspect-ratio:4/3;overflow:hidden;background:var(--paper)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .card__img img{transform:scale(1.06)}
.card__body{padding:26px 26px 30px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:30px}
.card p{margin:0;color:#5f5a52;font-size:15px;flex:1}
.tag{align-self:flex-start;font:600 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:7px 10px;background:var(--paper);color:var(--mute)}
.tag--gold{background:rgba(200,169,106,.16);color:var(--gold-2)}

.formulas{margin-top:70px;background:#fff;padding:42px clamp(24px,4vw,56px);display:grid;grid-template-columns:1fr;gap:18px}
.formulas h3{font-size:34px}
.formulas ul{list-style:none;margin:0;padding:0}
.formulas li{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.formulas li i{flex:1;border-bottom:1px dotted #cfc6b6;transform:translateY(-4px)}
.formulas__d{color:var(--mute);font-size:14px;white-space:nowrap}
.formulas .btn{justify-self:start;margin-top:10px}

.team{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(30px,6vw,80px)}
.member{display:flex;flex-direction:column;align-items:center;gap:18px;text-decoration:none}
.member__ph{width:clamp(130px,16vw,180px);aspect-ratio:1;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#1d1d1d;box-shadow:0 0 0 1px rgba(200,169,106,.5),0 0 0 9px rgba(200,169,106,.07);transition:transform .5s var(--ease),box-shadow .5s}
.member:hover .member__ph{transform:translateY(-6px);box-shadow:0 0 0 1px var(--gold),0 0 0 12px rgba(200,169,106,.12)}
.member__ph img{width:100%;height:100%;object-fit:cover}
.member__ph b{font:italic 500 64px/1 var(--serif);color:var(--gold)}
.member__name{font:500 30px/1 var(--serif);color:#fff}

.salon{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,90px);align-items:center}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gallery img:nth-child(2){margin-top:46px}.gallery img:nth-child(3){margin-top:-46px}

.infos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}
.contact{display:grid;grid-template-columns:auto 1fr;gap:16px 28px;margin:36px 0 0;font-size:17px}
.contact dt{font:600 11px/1.9 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.contact dd{margin:0}
.contact a[href^="tel"]{text-decoration:none;font:500 26px/1 var(--serif);color:var(--ink)}
.hours{background:#fff;padding:36px 40px}
.hours h3{font-size:30px;margin-bottom:16px}
.hours ul{list-style:none;margin:0;padding:0}
.hours li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.hours li.is-closed{color:var(--mute)}
.hours li.is-today{font-weight:600;color:var(--ink)}
.hours li.is-today span:first-child::after{content:" •";color:var(--gold)}

.cta{position:relative;padding:clamp(90px,12vw,160px) 0;text-align:center;color:#fff;background:var(--ink);overflow:hidden}
.cta__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.cta__in{position:relative}
.cta h2{color:#fff}.cta p{color:rgba(255,255,255,.75);margin:18px auto 34px;max-width:520px}

.foot{background:#0A0A0A;color:#9b968e;padding:70px 0 28px;font-size:14px}
.foot__in{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot__addr{margin:18px 0 0;line-height:1.7}
.foot__addr a{color:#ddd;text-decoration:none}
.foot__links{display:grid;grid-template-columns:repeat(2,auto);gap:10px 40px;align-content:start}
.foot__links a{text-decoration:none;color:#c8c2b8}.foot__links a:hover{color:var(--gold)}
.foot__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:50px;padding-top:24px;border-top:1px solid #1f1f1f;font-size:12px;letter-spacing:.04em}

.legal .section{padding-top:calc(var(--header) + 60px)}
.legal h1{font-size:clamp(40px,5vw,60px);margin:22px 0 30px}
.legal h2{font-size:26px;margin:34px 0 8px}
.legal p{margin:0 0 10px}

/* apparition au défilement */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero__bg img{animation:none}}

@media (max-width:980px){
  .nav{position:fixed;inset:var(--header) 0 auto;flex-direction:column;gap:0;background:#0E0E0E;padding:10px 24px 24px;transform:translateY(-130%);transition:transform .4s var(--ease);margin:0}
  .nav a{padding:14px 0;border-bottom:1px solid #222;font-size:16px}
  .menu-open .nav{transform:none}
  .menu-open .burger span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .burger{display:flex}
  .top__right{margin-left:auto}
  .cards{grid-template-columns:1fr 1fr}
  .salon,.infos{grid-template-columns:1fr}
}
@media (max-width:640px){
  .top__book{display:none}
  .cards{grid-template-columns:1fr}
  .hero__in{padding-bottom:90px}
  .btns .btn{width:100%;justify-content:center}
  .hours{padding:28px 22px}
  .foot__links{grid-template-columns:1fr}
}
