
:root{
  --noir:#17110F; --noir-2:#20160F; --noir-3:#1C130E; --prune:#3B1F2B; --prune-clair:#5A2E3D; --prune-fonce:#2A1620;
  --or:#C4A05A; --or-clair:#E3C888; --or-doux:#8E7038;
  --ivoire:#F4EFE6; --rose:#C9A79A;
  --texte:rgba(244,239,230,.82); --texte-clair:rgba(244,239,230,.72); --texte-doux:rgba(244,239,230,.55);
  --trait:rgba(196,160,90,.26);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost','Century Gothic',system-ui,sans-serif;
  --pad-x:clamp(1.3rem,5vw,6rem); --sy:clamp(4.5rem,9vw,7.5rem); --max:1220px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--texte);background:var(--noir);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:.01em;color:var(--ivoire)}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}
.eyebrow{font-family:var(--sans);font-weight:400;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--or)}
.filet{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.2rem auto 0}
.filet::before,.filet::after{content:"";height:1px;width:min(80px,13vw);background:linear-gradient(90deg,transparent,var(--or))}
.filet::after{background:linear-gradient(90deg,var(--or),transparent)}
.filet .los{width:7px;height:7px;border:1px solid var(--or);transform:rotate(45deg)}
.poincon path,.poincon line{stroke:var(--or);fill:none;stroke-width:1.4}
.poincon text{fill:var(--or);font-family:var(--serif);font-weight:600}
.btn{display:inline-block;font-family:var(--sans);font-weight:400;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;padding:.9rem 2.1rem;border:1px solid var(--or);color:var(--or-clair);background:none;cursor:pointer;transition:all .4s ease}
.btn:hover{background:var(--or);color:var(--noir);letter-spacing:.24em}
.btn.plein{background:var(--or);border-color:var(--or);color:var(--noir)}
.btn.plein:hover{background:var(--or-clair);border-color:var(--or-clair);color:var(--noir)}

/* top bar */
.topbar{background:var(--prune);color:var(--ivoire);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:.55rem;padding-bottom:.55rem;gap:1rem;flex-wrap:wrap}
.topbar a{color:var(--ivoire)}
.topbar .r{color:var(--or-clair)}

/* nav */
header.nav{position:sticky;top:0;z-index:60;background:rgba(23,17,15,.9);backdrop-filter:blur(9px);border-bottom:1px solid var(--trait)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;padding-bottom:.85rem}
.brand{display:flex;align-items:center;gap:.65rem}
.brand .poincon{width:32px;height:32px}
.brand .nom{font-family:var(--serif);font-size:1.55rem;letter-spacing:.14em;color:var(--ivoire);line-height:1}
.brand .nom small{display:block;font-family:var(--sans);font-size:.5rem;letter-spacing:.4em;color:var(--or);margin-top:3px;font-weight:400}
ul.menu{list-style:none;display:flex;align-items:center;gap:1.9rem}
ul.menu>li{position:relative}
ul.menu>li>a{font-family:var(--sans);font-weight:400;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texte);padding:.4rem 0;display:inline-block;position:relative;transition:color .3s}
ul.menu>li>a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--or);transition:width .35s}
ul.menu>li>a:hover{color:var(--or-clair)}
ul.menu>li>a:hover::after,ul.menu>li.actif>a::after{width:100%}
ul.menu>li.actif>a{color:var(--or-clair)}
.lien-contact{border:1px solid var(--or);padding:.5rem 1.2rem!important;color:var(--or-clair)!important}
.lien-contact::after{display:none!important}
.lien-contact:hover{background:var(--or);color:var(--noir)!important}
ul.sub{list-style:none;position:absolute;top:100%;left:-1rem;min-width:250px;background:var(--noir-2);border:1px solid var(--trait);box-shadow:0 22px 44px -26px rgba(0,0,0,.7);padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s}
li.has-sub:hover>ul.sub{opacity:1;visibility:visible;transform:none}
ul.sub li a{display:block;font-size:.82rem;letter-spacing:.06em;padding:.6rem 1.4rem;color:var(--texte);transition:.25s}
ul.sub li a:hover{background:var(--noir);color:var(--or-clair);padding-left:1.7rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;z-index:80}
.burger span{width:25px;height:1.6px;background:var(--ivoire);transition:.35s}
.burger.open span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

/* grain velours + calque contenu */
.hero,.pagehero,.citation,.cta-bande{position:relative;overflow:hidden}
.hero::before,.pagehero::before,.citation::before,.cta-bande::before{content:"";position:absolute;inset:0;opacity:.4;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}
.hero>*,.pagehero>*,.citation .wrap,.cta-bande .wrap{position:relative;z-index:2}

/* hero accueil */
.hero{text-align:center;padding:clamp(5rem,12vw,9rem) var(--pad-x) clamp(4.5rem,10vw,7rem);
  background:radial-gradient(120% 90% at 50% 18%,rgba(90,46,61,.5),transparent 55%),radial-gradient(140% 120% at 50% 120%,rgba(196,160,90,.10),transparent 60%),linear-gradient(180deg,#241a16,var(--noir) 60%,#120d0b)}
.hero .poincon{width:60px;height:60px;margin:0 auto 1.5rem}
.hero .eyebrow{display:block;margin-bottom:1.2rem}
.hero h1{font-size:clamp(3.4rem,12vw,7.5rem);font-weight:400;color:var(--ivoire);line-height:.92;letter-spacing:.02em}
.hero h1 em{font-style:italic;color:var(--or-clair)}
.hero .tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3.4vw,2rem);color:var(--rose);margin-top:.8rem}
.hero .sous{margin-top:1.6rem;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--texte-clair)}
.hero-cta{margin-top:2.4rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* hero page interne */
.pagehero{text-align:center;padding:clamp(3.6rem,8vw,6rem) var(--pad-x) clamp(3rem,6vw,4.5rem);
  background:radial-gradient(110% 130% at 50% 0%,rgba(90,46,61,.45),transparent 60%),linear-gradient(180deg,#231913,var(--noir))}
.pagehero .poincon{width:46px;height:46px;margin:0 auto 1.1rem;opacity:.9}
.pagehero .eyebrow{display:block;margin-bottom:.8rem}
.pagehero h1{font-size:clamp(2.6rem,6.5vw,4.4rem);color:var(--ivoire)}
.pagehero h1 em{font-style:italic;color:var(--or-clair)}
.fil-ariane{margin-top:1.2rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.fil-ariane a:hover{color:var(--or)}
.fil-ariane span{color:var(--or)}

/* sections */
section{padding-top:var(--sy);padding-bottom:var(--sy)}
.sec-blanc{background:var(--noir-2)}
.sec-creme2{background:var(--noir-3)}
.tete{text-align:center;max-width:640px;margin:0 auto clamp(2.5rem,5vw,3.8rem)}
.tete .eyebrow{display:block;margin-bottom:.9rem}
.tete h2{font-size:clamp(2rem,5vw,3.2rem)}
.tete h2 em{font-style:italic;color:var(--or-clair)}
.tete p{margin-top:1rem;color:var(--texte-clair);font-size:1.05rem}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split.inv .visuel{order:2}
.split-txt .eyebrow{display:block;margin-bottom:1rem}
.split-txt h2{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1.3rem}
.split-txt h2 em{font-style:italic;color:var(--or-clair)}
.split-txt p{color:var(--texte-clair);margin-bottom:1rem;max-width:54ch}
.split-txt .btn{margin-top:1rem}
.signature{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--rose);margin-top:1.6rem}
.signature span{display:block;font-family:var(--sans);font-style:normal;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-top:.3rem}

/* visuel / photo slot (velours) */
.visuel{position:relative;aspect-ratio:4/5;border:1px solid var(--trait);display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(150deg,#3a2330,#5A2E3D 48%,#241521)}
.visuel::after{content:"";position:absolute;inset:13px;border:1px solid rgba(196,160,90,.35)}
.visuel .poincon{width:110px;height:110px;opacity:.55}
.slot-note{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,239,230,.5)}

/* cartes services */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.carte{background:var(--noir-2);border:1px solid var(--trait);padding:2.4rem 1.9rem;text-align:center;transition:transform .5s,box-shadow .5s,border-color .5s;display:flex;flex-direction:column}
.carte:hover{transform:translateY(-6px);box-shadow:0 22px 46px -26px rgba(0,0,0,.7);border-color:rgba(196,160,90,.55)}
.carte .ico{width:46px;height:46px;margin:0 auto 1.3rem}
.carte .ico *{stroke:var(--or);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.carte h3{font-size:1.5rem;margin-bottom:.7rem}
.carte p{font-size:.92rem;color:var(--texte-clair);flex:1}
.carte .plus{margin-top:1.2rem;font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.carte:hover .plus{color:var(--or-clair)}

/* tuiles collection (gemmes) */
.grid-tuiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.tuile{position:relative;overflow:hidden;border:1px solid var(--trait);background:var(--noir-2);transition:transform .5s,box-shadow .5s}
.tuile:hover{transform:translateY(-6px);box-shadow:0 22px 46px -26px rgba(0,0,0,.7)}
.tuile .slot{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.tuile .slot::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 30% 25%,rgba(255,255,255,.28),transparent 55%)}
.tuile .slot .poincon{width:64px;height:64px;opacity:.55;position:relative;z-index:2}
.slot-rose{background:linear-gradient(150deg,#4e2b3a,#7d3d52 60%,#3b1f2b)}
.slot-champ{background:linear-gradient(150deg,#b98f4d,#e3c888 55%,#8e7038)}
.slot-sauge{background:linear-gradient(150deg,#2f4a45,#5a8f83 60%,#233c38)}
.slot-lavande{background:linear-gradient(150deg,#3a3550,#7c76a3 60%,#2b2740)}
.slot-bleu{background:linear-gradient(150deg,#26384f,#5679a3 60%,#1f2c40)}
.slot-poudre{background:linear-gradient(150deg,#7a4a3f,#c98f7d 58%,#5a3228)}
.tuile .leg{padding:1.3rem 1.4rem 1.6rem}
.tuile .leg h3{font-size:1.4rem;margin-bottom:.35rem}
.tuile .leg p{font-size:.86rem;color:var(--texte-clair)}

/* process */
.etapes{counter-reset:e;max-width:760px;margin:0 auto;display:grid;gap:1.2rem}
.etape{display:flex;gap:1.5rem;align-items:flex-start;background:var(--noir-2);border:1px solid var(--trait);padding:1.6rem 1.8rem}
.etape::before{counter-increment:e;content:counter(e,upper-roman);font-family:var(--serif);font-style:italic;font-size:1.9rem;color:var(--or);flex:0 0 auto;line-height:1;min-width:2.4rem}
.etape h3{font-size:1.3rem;margin-bottom:.3rem}
.etape p{font-size:.92rem;color:var(--texte-clair)}

/* puces */
.puces{max-width:720px;margin:0 auto;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 2.5rem}
.puces li{padding:.9rem 0;border-bottom:1px solid var(--trait);display:flex;gap:.8rem;align-items:baseline;font-size:1rem;color:var(--texte)}
.puces li::before{content:"";width:6px;height:6px;border:1px solid var(--or);transform:rotate(45deg);flex:0 0 auto;margin-top:.35rem}

/* citation (velours) */
.citation{text-align:center;background:radial-gradient(120% 120% at 50% 0%,rgba(90,46,61,.6),transparent 60%),linear-gradient(180deg,var(--prune),#2a1620)}
.citation .wrap{max-width:820px}
.citation .poincon{width:48px;height:48px;margin:0 auto 1.5rem}
.citation blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.7rem,4.6vw,2.8rem);line-height:1.28;color:var(--ivoire)}
.citation blockquote em{color:var(--or-clair)}
.citation cite{display:block;margin-top:1.5rem;font-family:var(--sans);font-style:normal;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rose)}

/* bande cta */
.cta-bande{text-align:center;background:linear-gradient(180deg,var(--noir-2),#160f0b)}
.cta-bande h2{font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:.8rem}
.cta-bande h2 em{font-style:italic;color:var(--or-clair)}
.cta-bande p{color:var(--texte-clair);max-width:520px;margin:0 auto 1.8rem}
.cta-bande .duo{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.info-ligne{display:flex;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--trait)}
.info-ligne:last-of-type{border-bottom:1px solid var(--trait)}
.info-ligne .ico{width:22px;height:22px;flex:0 0 22px;margin-top:4px}
.info-ligne .ico *{stroke:var(--or);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.info-ligne .t{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or-doux);margin-bottom:.2rem}
.info-ligne .v{font-family:var(--serif);font-size:1.3rem;color:var(--ivoire);line-height:1.35}
.info-ligne .v a:hover{color:var(--or-clair)}
.info-ligne .v small{display:block;font-family:var(--sans);font-size:.88rem;color:var(--texte-clair);margin-top:.2rem}
.mapwrap{border:1px solid var(--trait);min-height:360px}
.mapwrap iframe{width:100%;height:100%;min-height:360px;border:0;display:block;filter:grayscale(.4) contrast(1.05) brightness(.82)}
form.contact-form{display:grid;gap:1rem;margin-top:1.6rem}
form.contact-form label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or-doux);display:block;margin-bottom:.35rem}
form.contact-form input,form.contact-form textarea{width:100%;background:var(--noir-2);border:1px solid var(--trait);padding:.8rem 1rem;font-family:var(--sans);font-size:.95rem;color:var(--ivoire);border-radius:0}
form.contact-form input:focus,form.contact-form textarea:focus{outline:none;border-color:var(--or)}
form.contact-form .duo{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* footer */
footer.pied{background:#100c0a;color:var(--texte-clair);padding:3.2rem var(--pad-x) 1.8rem;text-align:center}
footer.pied .poincon path,footer.pied .poincon line{stroke:var(--or-clair)}
footer.pied .poincon text{fill:var(--or-clair)}
footer.pied .poincon{width:42px;height:42px;margin:0 auto 1rem}
footer.pied .nom{font-family:var(--serif);font-size:1.85rem;letter-spacing:.16em;color:var(--ivoire)}
footer.pied .nom small{display:block;font-family:var(--sans);font-size:.52rem;letter-spacing:.38em;color:var(--or-clair);margin-top:5px}
footer.pied .fmeta{margin-top:1.2rem;font-size:.82rem;line-height:1.85}
footer.pied .fmeta a:hover{color:var(--or-clair)}
footer.pied .fliens{margin-top:1.4rem;display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
footer.pied .fliens a{color:rgba(244,239,230,.7);transition:.3s}
footer.pied .fliens a:hover{color:var(--or-clair)}
footer.pied .copy{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgba(196,160,90,.18);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(244,239,230,.42)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.reveal.vu{opacity:1;transform:none}

@media(max-width:960px){
  .split,.contact-grid{grid-template-columns:1fr}
  .split .visuel,.split.inv .visuel{order:-1;max-width:430px;margin:0 auto}
  .grid-3,.grid-tuiles{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .burger{display:flex}
  ul.menu{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:.4rem;background:var(--noir);transform:translateX(100%);transition:transform .5s cubic-bezier(.6,0,.2,1);overflow-y:auto;padding:5rem 2rem}
  ul.menu.open{transform:none}
  ul.menu>li{width:100%;text-align:center}
  ul.menu>li>a{font-size:1.05rem;padding:.7rem 0}
  ul.sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;min-width:0;padding:.2rem 0 .6rem;text-align:center}
  ul.sub li a{color:var(--texte-doux);font-size:.9rem;padding:.4rem}
  ul.sub li a:hover{padding-left:.4rem}
  .lien-contact{display:inline-block;margin-top:.6rem}
}
@media(max-width:640px){
  .grid-3,.grid-2,.grid-tuiles{grid-template-columns:1fr}
  .puces{grid-template-columns:1fr}
  form.contact-form .duo{grid-template-columns:1fr}
  .hero-cta .btn,.cta-bande .duo .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* ============ Ajouts CMS : photos, actualités, messages ============ */
.visuel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.tuile .slot img.tuile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.actu-img img{width:100%;height:100%;object-fit:cover}

/* actualités */
.actus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.actu{background:var(--noir-2);border:1px solid var(--trait);display:flex;flex-direction:column;overflow:hidden;transition:transform .5s,box-shadow .5s,border-color .5s}
.actu:hover{transform:translateY(-6px);box-shadow:0 22px 46px -26px rgba(0,0,0,.7);border-color:rgba(196,160,90,.5)}
.actu-img{aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--trait);background:linear-gradient(150deg,#3a2330,#5A2E3D 55%,#241521)}
.actu-corps{padding:1.5rem 1.6rem 1.7rem;flex:1;display:flex;flex-direction:column}
.actu-meta{font-family:var(--sans);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-bottom:.6rem}
.actu-corps h3{font-size:1.5rem;color:var(--ivoire);margin-bottom:.6rem;line-height:1.2}
.actu-corps p{font-size:.92rem;color:var(--texte-clair);line-height:1.65}

/* messages flash + formulaire */
.flash{padding:.9rem 1.2rem;border:1px solid var(--trait);font-size:.92rem;margin-bottom:1.2rem}
.flash-ok{border-color:rgba(120,170,120,.5);color:#bfe0bf;background:rgba(80,120,80,.14)}
.flash-err{border-color:rgba(200,120,120,.5);color:#eab7b7;background:rgba(150,70,70,.14)}
.contact-form .pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media(max-width:960px){.actus-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.actus-grid{grid-template-columns:1fr}}

/* ============ Mentions légales ============ */
.legal{max-width:760px;margin:0 auto}
.legal h2{font-size:clamp(1.4rem,3.4vw,1.9rem);color:var(--ivoire);margin:2rem 0 .6rem}
.legal h2:first-child{margin-top:0}
.legal p{color:var(--texte-clair);margin-bottom:.6rem}
.legal a{color:var(--or-clair);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--or)}
.legal .legal-maj{margin-top:2.4rem;font-size:.8rem;color:var(--texte-doux);font-style:italic}

/* ============ Affinements mobile ============ */
@media(max-width:820px){
  .topbar{font-size:.64rem}
  .topbar .wrap{justify-content:center;text-align:center;gap:.3rem 1rem}
}
@media(max-width:560px){
  .topbar .r{display:none}                 /* on garde l'adresse ; horaires en pied de page */
  .topbar .wrap{justify-content:center}
  .brand .nom{font-size:1.3rem}
  .hero{padding-top:clamp(3.5rem,16vw,5rem)}
  .hero .sous{font-size:.7rem;letter-spacing:.16em}
  .pagehero h1{font-size:clamp(2.1rem,9vw,3rem)}
  section{padding-top:clamp(3.2rem,10vw,4.5rem);padding-bottom:clamp(3.2rem,10vw,4.5rem)}
  .tete h2,.split-txt h2{font-size:clamp(1.7rem,7vw,2.2rem)}
  .mapwrap,.mapwrap iframe{min-height:280px}
  .info-ligne .v{font-size:1.15rem}
  .citation blockquote{font-size:clamp(1.4rem,6vw,1.9rem)}
  .fliens{gap:.8rem 1.2rem}
  .cta-bande .duo{flex-direction:column}
}
/* confort tactile : liens de navigation plus hauts sur petits écrans */
@media(max-width:820px){
  ul.menu>li>a{padding:.85rem 0}
  .lien-contact{padding:.8rem 2rem!important}
}

/* ============ Galerie ============ */
.galerie-vide{text-align:center;color:var(--texte-clair);font-style:italic;padding:2rem 0}
.gal-filtres{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-bottom:2.4rem}
.gal-btn{font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-clair);
  background:none;border:1px solid var(--trait);padding:.6rem 1.3rem;cursor:pointer;transition:.3s}
.gal-btn:hover{border-color:var(--or);color:var(--or-clair)}
.gal-btn.actif{background:var(--or);border-color:var(--or);color:var(--noir)}
.gal-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gal-item{margin:0}
.gal-vue{display:block;width:100%;padding:0;border:1px solid var(--trait);background:#241521;cursor:pointer;position:relative;overflow:hidden}
.gal-vue img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .6s ease}
.gal-vue:hover img{transform:scale(1.06)}
.gal-cat{position:absolute;left:10px;bottom:10px;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--noir);background:rgba(227,200,136,.9);padding:.25rem .6rem}
.gal-item figcaption{font-size:.82rem;color:var(--texte-clair);padding:.6rem .2rem 0;text-align:center}
/* lightbox galerie */
.gal-lb{position:fixed;inset:0;z-index:100;background:rgba(11,8,7,.94);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:2rem}
.gal-lb.on{display:flex}
.gal-lb figure{margin:0;max-width:min(1000px,92vw);max-height:88vh;text-align:center}
.gal-lb img{max-width:100%;max-height:80vh;object-fit:contain;border:1px solid var(--trait)}
.gal-lb figcaption{color:var(--rose);font-family:var(--serif);font-style:italic;font-size:1.2rem;margin-top:1rem}
.gal-x{position:absolute;top:1.2rem;right:1.6rem;background:none;border:0;color:var(--or-clair);font-size:2.4rem;line-height:1;cursor:pointer}
.gal-x:hover{color:var(--ivoire)}
@media(max-width:760px){.gal-grille{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.gal-grille{grid-template-columns:1fr 1fr;gap:.6rem}}
