/* Étape 1 : feuille réservée à index.html. Les autres pages gardent leurs styles. */
@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-latin.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
:root{color-scheme:dark;--gold:#c79b55;--beige:#f2e9dc;--text:#d9d2c6;--muted:#b9b0a3;--ink:#11100f;--line:rgba(199,155,85,.25);font-family:Manrope,Arial,sans-serif;color:var(--text);background:#0c0b0a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-size:16px;line-height:1.8;background:transparent;isolation:isolate}
.bg{position:fixed;inset:0;z-index:-2;background:#0c0b0a url('../assets/img/background.avif') center/cover no-repeat;pointer-events:none}
.vignette{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18) 80%)}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;font-weight:700}
a:hover{color:var(--beige)}
button{font:inherit;cursor:pointer}
a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
[hidden]{display:none!important}
p{margin:0 0 20px}
h1,h2,h3{color:var(--beige);font-weight:500;line-height:1.25}
h2{font-size:clamp(28px,2.8vw,38px);letter-spacing:-.035em;margin:0 0 24px}
h3{font-size:22px;letter-spacing:-.02em}
strong{font-weight:600}
.eyebrow{font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin:0 0 20px}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--beige);color:#111;padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.mast{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:82px;padding:12px max(30px,calc((100vw - 1240px)/2));background:rgba(13,12,11,.97);border-bottom:1px solid var(--line)}
.wordmark{color:var(--beige);font-family:Georgia,serif;font-size:25px;letter-spacing:.09em;text-decoration:none;white-space:nowrap;display:flex;gap:11px;align-items:center;min-height:48px}
.wordmark span{font-family:Manrope,Arial,sans-serif;font-size:9px;font-weight:600;letter-spacing:.18em;max-width:64px;white-space:normal;line-height:1.6}
.nav{margin-left:auto}
.nav__ul,.nav-info ul{list-style:none;margin:0;padding:0}
.nav__ul{display:flex;align-items:center;gap:27px}
.nav__a,.nav-info summary{color:var(--text);font-size:13px;font-weight:500;display:flex;align-items:center;gap:10px;min-height:48px;text-decoration:none;white-space:nowrap}
.nav__a.is-active{color:var(--gold)}
.nav-info summary::-webkit-details-marker{display:none}
.nav-info summary:hover{color:var(--gold)}
.mast-actions{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 23px;border:1px solid var(--line);border-radius:3px;font:600 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.04em;text-decoration:none;color:var(--beige);background:transparent;transition:background .2s,color .2s,transform .2s}
.btn--primary{background:var(--gold);border-color:var(--gold);color:#17130d}
.btn--primary:hover{background:#dfb97e;border-color:#dfb97e;color:#17130d;transform:translateY(-2px)}
.btn span{font-size:20px;font-weight:400;line-height:1}
.nav-rdv{min-height:46px;padding:10px 18px;gap:22px}
.nav-toggle,.nav-overlay{display:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.home-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:70px;padding:54px 0 56px}
.logo img{width:min(480px,100%);height:auto;margin:auto;filter:drop-shadow(0 8px 24px #0004)}
.seo-home__title span:first-child{font-size:27px;color:var(--beige);line-height:1.35}
.seo-home__title span:last-child{font-size:13px;line-height:1.7;color:var(--muted);margin-top:10px}
.text-link:hover{color:var(--gold);border-color:var(--gold)}
.hero-photo{margin:0;align-self:center}
.hero-photo img{width:100%;height:auto;border-radius:2px}
.hero-photo figcaption{margin-top:16px;color:var(--muted);font-size:10px;letter-spacing:.07em;text-align:left}
.foot{border-top:1px solid var(--line);background:rgba(12,11,10,.6);padding:40px 24px 25px}
.foot__inner{max-width:1160px;margin:auto;text-align:center}
.foot__seo,.foot__links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 28px}
.foot a,.foot__link-button{color:var(--muted);text-decoration:none;font-size:11px}
.foot a:hover,.foot__link-button:hover{color:var(--gold)}
.foot__seo a,.foot__links a,.foot__link-button{display:inline-flex;min-height:44px;align-items:center}
.foot__local{font-size:14px;line-height:1.9;margin:12px auto;max-width:1200px;color:var(--beige)}
.foot__local a{font-size:inherit;font-weight:600;color:inherit}
.foot__copy{margin-top:18px;font-size:10px;color:var(--muted)}
.foot__link-button{padding:0;border:0;background:transparent}
.cookie-consent{position:fixed;z-index:50;left:24px;right:24px;bottom:20px;margin:0 auto;max-width:980px;background:#1b1916;border:1px solid #6c5a3c;border-radius:3px;box-shadow:0 10px 40px #0008;color:var(--beige)}
.cookie-consent__inner{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:20px 24px}
.cookie-consent__copy{font-size:12px;line-height:1.6}
.cookie-consent__copy strong{font-size:13px}
.cookie-consent__copy p{font-size:12px;margin:5px 0}
.cookie-consent__copy a{display:inline-flex;align-items:center;min-height:32px}
.cookie-consent__actions{display:flex;gap:10px;flex-shrink:0}
.cookie-consent__button{min-height:46px;background:transparent;border:1px solid #a0865c;border-radius:2px;color:var(--beige);padding:10px 16px;font-size:12px}
.cookie-consent__button:hover{background:#352c20}
@media(prefers-reduced-motion:no-preference){.hero-photo{animation:arrive .6s ease-out}@keyframes arrive{from{opacity:.7;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1000px){
  html{scroll-padding-top:88px}
  .mast{min-height:74px;padding:12px 20px;gap:12px;flex-wrap:wrap}
  .wordmark{font-size:23px;gap:8px}.wordmark span{font-size:8px;max-width:57px}
  .mast-actions{margin-left:auto;gap:8px}.nav-rdv{min-height:46px;font-size:11px;padding:10px 13px;gap:12px}
  .nav-toggle{display:none;min-height:46px;padding:0 14px;background:var(--beige);color:#17130d;border:0;border-radius:3px;font-size:11px;font-weight:800;letter-spacing:.07em;align-items:center;gap:10px}
  .nav-toggle span{font-size:15px;font-weight:400}
  .nav{order:3;width:100%;margin:0}.nav__ul{flex-wrap:wrap;gap:4px 22px}.nav-info details:not([open])>ul{display:block}
  .nav-ready .nav-toggle{display:inline-flex}
  .nav-ready .nav{position:fixed;inset:74px 0 auto;max-height:calc(100dvh - 90px);overflow:auto;padding:16px 28px 25px;background:#171512;border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
  .nav-ready .nav__ul{display:block}
  .nav-ready .nav__a{font-size:18px;min-height:52px;border-bottom:1px solid #ffffff0d}
  .nav-open .nav{visibility:visible;opacity:1;transform:none}
  .nav-open{overflow:hidden}
  .nav-open .nav-overlay{display:block;position:fixed;inset:74px 0 0;background:#0009;z-index:19}
  .wrap{padding-inline:28px}
  .home-hero{gap:28px;padding-top:40px}.logo img{width:100%}.seo-home__title span:first-child{font-size:23px}.seo-home__title span:last-child{font-size:12px}
  .hero-photo figcaption{font-size:9px;letter-spacing:0}
  .foot{padding:26px 22px}.foot__links{gap:0 20px}.foot__copy{font-size:9px}
  .cookie-consent{left:10px;right:10px;bottom:10px}.cookie-consent__inner{display:block;padding:16px}.cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.cookie-consent__button{font-size:12px;padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Accueil validable V2 : une photographie, une présentation, une action d’avis. */
.home-hero{padding-top:70px;padding-bottom:52px;min-height:710px}
.hero-photo{align-self:center}
.welcome{max-width:720px;margin:18px auto 90px;text-align:left}
.welcome h1{font-size:clamp(24px,2.4vw,30px);font-weight:500;line-height:1.5;letter-spacing:-.02em;margin:0 0 32px}
.welcome h1 span{white-space:nowrap;color:var(--gold)}
.welcome>p{font-size:17px;line-height:1.95;margin:0 0 24px}
.welcome a:not(.btn){color:inherit;font-weight:700;text-decoration:none;transition:color .2s}
.welcome a:not(.btn):hover,.welcome a:not(.btn):focus-visible{color:var(--gold)}
.welcome-signature{margin:32px 0;text-align:center}
.welcome-signature p{margin:0 0 8px;font-size:17px}
.welcome-signature p:last-child{font-size:25px;color:var(--gold);font-family:Georgia,serif;font-style:italic}
.google-reviews{display:flex;width:fit-content;margin-inline:auto;font-size:12px;min-height:54px;padding:15px 25px;gap:16px;background:#fff;color:#3c4043;border-color:#dadce0;border-radius:6px}
.google-reviews:hover,.google-reviews:focus-visible{background:#f1f5ff;color:#174ea6;border-color:#4285f4}
.google-mark{flex-shrink:0}
.welcome-social{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:26px}
.welcome-social .social-button{display:flex;flex-direction:column;min-height:84px;min-width:64px;padding:0;gap:10px;color:var(--beige);background:transparent;font-size:12px;border:0;text-decoration:none;transition:transform .2s}
.welcome-social .social-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;color:#fff;transition:filter .2s}
.welcome-social .social-label{font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.02em}
.social-button--instagram .social-icon{background:linear-gradient(135deg,#833ab4,#c13584 55%,#e6683c)}
.social-button--facebook .social-icon{background:#1664cc}
.social-button--tiktok .social-icon{background:#191919;box-shadow:inset 0 0 0 1px #555}
.social-button--tiktok svg{filter:drop-shadow(-1px 0 #25f4ee) drop-shadow(1px 1px #fe2c55)}
.social-button--gmail .social-icon{background:#b3261e}
.welcome-social .social-button:hover,.welcome-social .social-button:focus-visible{color:var(--beige);background:transparent;transform:translateY(-2px)}
.welcome-social .social-button:hover .social-icon{filter:brightness(1.13)}
.social-button svg{flex-shrink:0;width:24px;height:24px}
.foot__local{margin:0 auto 12px}
@media(max-width:1100px){.mast{gap:20px;padding-inline:25px}.nav__ul{gap:18px}.home-hero{gap:35px;min-height:620px}}
@media(max-width:1000px){.home-hero{gap:28px;min-height:510px;padding-top:44px;padding-bottom:40px}.welcome{max-width:640px;margin-top:16px;margin-bottom:65px}.welcome>p{font-size:16px;line-height:1.9}}
@media(max-width:560px){
  .mast{padding:10px 16px;min-height:70px}.wordmark{font-size:22px;min-height:46px}.wordmark span{display:none}
  .nav-rdv{font-size:11px;gap:15px}.nav-toggle{padding:0 13px}
  .nav-ready .nav{top:70px}.nav-open .nav-overlay{top:70px}
  .wrap{padding-inline:22px}
  .home-hero{grid-template-columns:1fr;min-height:0;gap:42px;padding:32px 0 0}
  .logo img{width:min(300px,90%)}
  .hero-photo{width:100%;max-width:390px;margin:auto}
  .welcome{margin:38px auto 58px}
  .welcome h1{font-size:23px;line-height:1.5;margin-bottom:26px}
  .welcome h1 span{display:block;white-space:normal;font-size:22px}
  .welcome>p{font-size:16px;line-height:1.9;margin-bottom:24px}
  .welcome-signature{margin:28px 0}
  .google-reviews{font-size:11px;padding-inline:22px}
}
@media(max-width:360px){
  .mast{padding:10px 12px;gap:8px;flex-wrap:nowrap}
  .wordmark{font-size:20px}
  .mast-actions{gap:6px}
  .nav-rdv{font-size:10px;padding:10px 12px;gap:8px}
  .nav-rdv span{display:none}
  .nav-toggle{font-size:10px;padding:0 10px;gap:8px}
}

/* Navigation directe et titres principaux — révision demandée. */
h1{color:var(--gold)}
@media(min-width:1001px){.mast{gap:20px}.nav__ul{gap:20px}.mast-actions{display:none}}

/* Liens textuels : gras, sans soulignement ni filet décoratif. */
a:not(.btn){text-decoration:none;font-weight:700}
a:not(.btn):hover,a:not(.btn):focus-visible{color:var(--gold);text-decoration:none}
.text-link,.nav-ready .nav__a{border-bottom:0}
