/* ============================================================
   AURAMINERAL - charte v2, commune a toutes les pages.
   Une seule source : modifier ICI, jamais dans une page.
   ============================================================ */

:root{
  --bg:#221c16; --bg2:#2b241d; --bg3:#191410; --panel:#3a3128; --line:#4a3f32;
  --txt:#f2ece3; --mut:#c9bfb1; --amber:#e8b06b; --amber2:#f3cb8e; --cream:#f8f2e7;
  --pad:clamp(20px,5vw,48px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg); color:var(--txt); font-family:'Manrope',sans-serif; font-size:17px; line-height:1.7; overflow-x:hidden; max-width:100%}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3{font-family:'Fraunces',serif; font-weight:500; line-height:1.1; letter-spacing:-.01em}
.wrap{max-width:1200px; margin:0 auto; padding:0 var(--pad)}
.narrow{max-width:760px; margin:0 auto; padding:0 var(--pad)}
.eyebrow{display:block; font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; color:var(--amber); font-weight:600}
.btn{display:inline-block; background:var(--amber); color:#221a10; font-weight:700; font-size:16px; padding:15px 30px; border-radius:2px; transition:.2s; white-space:nowrap}
@media(max-width:560px){ .btn{white-space:normal; text-align:center; padding:14px 22px} }
.btn:hover{background:var(--amber2); transform:translateY(-2px)}
.btn.gh{background:transparent; color:var(--txt); border:1px solid var(--line)}
.btn.gh:hover{border-color:var(--amber); color:var(--amber); background:transparent}

/* ---------- NAV ---------- */
nav{position:fixed; top:0; left:0; right:0; z-index:90; background:rgba(25,20,16,.72); backdrop-filter:blur(14px); border-bottom:1px solid rgba(74,63,50,.6)}
nav .in{max-width:1200px; margin:0 auto; padding:14px var(--pad); display:flex; align-items:center; justify-content:space-between; gap:28px}
nav .brand{font-family:'Fraunces',serif; font-size:1.05rem; letter-spacing:.16em}
nav .brand small{display:block; font-family:'Manrope',sans-serif; font-size:.58rem; letter-spacing:.24em; color:var(--amber); text-transform:uppercase; margin-top:3px}
nav .links{display:flex; gap:26px; font-size:15px; color:var(--mut)}
nav .links a:hover{color:var(--amber)}
nav .burger{display:none; position:relative}
nav .burger summary{list-style:none; cursor:pointer; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); color:var(--txt); font-size:20px; line-height:1}
nav .burger summary::-webkit-details-marker{display:none}
nav .burger[open] summary{border-color:var(--amber); color:var(--amber)}
nav .burger .panel{position:absolute; right:0; top:calc(100% + 12px); width:min(84vw,300px); background:var(--bg3); border:1px solid var(--line); padding:10px; display:flex; flex-direction:column; gap:2px; box-shadow:0 18px 40px rgba(0,0,0,.5)}
nav .burger .panel a{padding:13px 14px; font-size:16px; color:var(--txt); border-bottom:1px solid rgba(74,63,50,.5)}
nav .burger .panel a:last-of-type{border-bottom:none}
nav .burger .panel .btn{margin-top:10px; text-align:center; white-space:normal; color:#221a10}
nav .burger .panel .tel{color:var(--amber); text-align:center; font-size:15px; letter-spacing:.06em; padding:12px 0 4px; border:none}
@media(max-width:900px){ nav .links{display:none} nav>.in>.btn{display:none} nav .burger{display:block} }

/* ---------- HERO plein ecran ---------- */
.hero{min-height:100svh; display:flex; align-items:center; position:relative; padding:118px 0 70px}
.hero .in{max-width:1200px; width:100%; margin:0 auto; padding:0 var(--pad); display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(32px,5vw,64px); align-items:center}
.hero .in>*{min-width:0}
.hero .l{display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; min-width:0}
.hero .r{position:relative; overflow:hidden; border:1px solid var(--line); aspect-ratio:4/5; max-height:74vh}
.hero .r img{width:100%; height:100%; object-fit:cover}
.hero h1{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(2rem,4.2vw,3.3rem); line-height:1.14; margin:18px 0 20px; max-width:19ch; letter-spacing:-.01em; color:var(--txt)}
.hero h1 em{font-style:normal; color:var(--amber2)}
.hero .accroche{font-size:clamp(1.05rem,1.6vw,1.22rem); color:var(--amber); font-weight:600; margin:0 0 4px; letter-spacing:.01em}
.hero .sub{font-size:clamp(1.05rem,1.7vw,1.3rem); color:var(--mut); max-width:44ch; margin-bottom:36px}
.hero .acts{display:flex; gap:14px; flex-wrap:wrap}
.hero .scroll{margin-top:44px; font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--mut); display:flex; align-items:center; gap:12px}
.hero .scroll:before{content:''; width:44px; height:1px; background:var(--amber)}
@media(max-width:900px){
  .hero{min-height:auto; padding:96px 0 56px}
  .hero .in{grid-template-columns:1fr; gap:32px}
  .hero .r{order:-1; aspect-ratio:3/2; max-height:none}
  .hero .scroll{display:none}
}

/* ---------- BANDEAU DEFILANT ---------- */
.ticker{background:var(--bg3); border-block:1px solid var(--line); padding:20px 0; overflow:hidden; white-space:nowrap}
.ticker .t{display:inline-block; animation:sl 42s linear infinite; font-family:'Fraunces',serif; font-size:1.05rem; color:var(--mut)}
.ticker .t span{margin:0 26px}
.ticker .t b{color:var(--amber2); font-weight:500}
@keyframes sl{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- SECTION generique ---------- */
section{position:relative}
.pad{padding:clamp(72px,10vw,130px) 0}
.pad-s{padding:clamp(48px,6vw,72px) 0}
.sec-head{max-width:56ch; margin-bottom:clamp(38px,5vw,64px)}
.sec-head h2{font-size:clamp(1.9rem,3.8vw,3rem); margin:16px 0 18px}
.sec-head p{color:var(--mut); font-size:1.08rem}
.sec-head p+p{margin-top:14px}
.alt{background:var(--bg2)}
.dark{background:var(--bg3)}

/* ---------- LE SUR MESURE : colonne vertebrale ---------- */
/* 1. les 4 situations : c'est l'endroit qui parle en premier */
.lieux{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.lieux a{background:var(--bg2); border:1px solid var(--line); border-radius:2px; padding:32px 28px 30px; transition:.25s; position:relative; display:block}
.lieux a:hover{background:var(--panel); border-color:var(--amber); transform:translateY(-3px)}
.lieux .n{font-family:'Fraunces',serif; font-size:2.6rem; color:var(--line); line-height:1; transition:.25s}
.lieux a:hover .n{color:var(--amber)}
.lieux h3{font-size:1.16rem; margin:16px 0 12px; line-height:1.3}
.lieux p{font-size:15px; color:var(--mut); line-height:1.65}
.lieux .go{margin-top:20px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); opacity:0; transition:.25s}
.lieux a:hover .go{opacity:1}
.lieux.c3{grid-template-columns:repeat(3,1fr)}
@media(max-width:980px){ .lieux{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .lieux{grid-template-columns:1fr} }

/* 2. le manifeste : pleine largeur, enorme, sur image */
.manif{position:relative; min-height:78vh; display:flex; align-items:center; overflow:hidden}
.manif img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0}
.manif:after{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(25,20,16,.95) 0%, rgba(25,20,16,.78) 48%, rgba(25,20,16,.35) 100%); z-index:1}
.manif .in{position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:90px var(--pad); width:100%}
.manif .mq{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(1.15rem,2vw,1.5rem); color:var(--cream); margin:14px 0 0; max-width:26ch; line-height:1.25}
.manif .mq+q{margin-top:14px}
.large img.dr{object-position:68% center}
.manif q{display:block; quotes:none; font-family:'Fraunces',serif; font-size:clamp(1.7rem,4.2vw,3.2rem); line-height:1.22; max-width:19ch; margin:22px 0 0}
.manif q b{font-weight:500; color:var(--amber2)}
.manif .sig{margin-top:30px; font-size:15px; color:var(--mut); letter-spacing:.04em}

/* 3. les etapes : grande timeline verticale */
.etapes{counter-reset:e; border-top:1px solid var(--line)}
.etapes .e{display:grid; grid-template-columns:110px 1fr 1.15fr; gap:clamp(24px,4vw,56px); padding:clamp(36px,5vw,56px) 0; border-bottom:1px solid var(--line); align-items:start; transition:.3s}
.etapes .e:hover{background:rgba(232,176,107,.04); padding-left:14px; padding-right:14px}
.etapes .num{font-family:'Fraunces',serif; font-size:clamp(2.4rem,5vw,4rem); color:var(--line); line-height:.9}
.etapes .e:hover .num{color:var(--amber)}
.etapes h3{font-size:clamp(1.3rem,2.4vw,1.75rem); margin-bottom:0}
.etapes p{color:var(--mut)}
@media(max-width:860px){ .etapes .e{grid-template-columns:64px 1fr; gap:18px} .etapes .e p{grid-column:2} }

/* ---------- MOSAIQUE irreguliere : le contraire d'une grille ---------- */
.mos{display:grid; grid-template-columns:repeat(12,1fr); gap:18px}
.mos figure{position:relative; overflow:hidden; background:var(--bg3)}
.mos img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.mos figure:hover img{transform:scale(1.045)}
.mos figcaption{position:absolute; left:0; right:0; bottom:0; padding:22px 22px 20px; background:linear-gradient(0deg, rgba(20,16,12,.97) 45%, transparent); font-size:14px}
.mos figcaption h3{display:block; font-family:'Fraunces',serif; font-size:1.1rem; font-weight:500; margin-bottom:3px}
.mos figcaption p{color:var(--mut); font-size:13.5px; line-height:1.5; margin-top:4px}
.m-a{grid-column:span 7; aspect-ratio:4/3}
.m-b{grid-column:span 5; aspect-ratio:3/4}
.m-c{grid-column:span 4; aspect-ratio:1/1}
.m-d{grid-column:span 8; aspect-ratio:16/9}
.m-e{grid-column:span 5; aspect-ratio:4/5}
.m-f{grid-column:span 7; aspect-ratio:3/2}
@media(max-width:860px){ .mos{grid-template-columns:repeat(2,1fr)} .mos figure{grid-column:span 1 !important; aspect-ratio:1/1 !important} .m-a{grid-column:span 2 !important; aspect-ratio:4/3 !important} }

/* ---------- SAVOIR-FAIRE : 4 cartes avec photo ---------- */
.sf4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.sf4 article{background:var(--bg2); border:1px solid var(--line); overflow:hidden; display:flex; flex-direction:column}
.sf4 .ph{aspect-ratio:4/3; overflow:hidden}
.sf4 .ph img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.sf4 article:hover .ph img{transform:scale(1.06)}
.sf4 .tx{padding:26px 26px 30px}
.sf4 .n{font-size:.7rem; letter-spacing:.24em; color:var(--amber); font-weight:600}
.sf4 h3{font-size:1.18rem; margin:12px 0 12px; line-height:1.3}
.sf4 p{font-size:15px; color:var(--mut); line-height:1.6}
@media(max-width:1000px){ .sf4{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .sf4{grid-template-columns:1fr} }

/* ---------- BANDE PHOTOS pleine largeur ---------- */
.bande{display:grid; grid-template-columns:repeat(6,1fr); gap:14px}
.bande a{position:relative; aspect-ratio:1/1; overflow:hidden; display:block}
.bande img{width:100%; height:100%; object-fit:cover; transition:transform .6s, filter .4s; filter:grayscale(.12) brightness(.86)}
.bande a:hover img{transform:scale(1.07); filter:none}
.bande .plus{display:flex; align-items:center; justify-content:center; text-align:center; background:var(--bg2); border:1px solid var(--amber); font-size:14px; color:var(--amber); padding:14px; line-height:1.4; letter-spacing:.06em}
.bande .plus:hover{background:var(--amber); color:#221a10}
@media(max-width:900px){ .bande{grid-template-columns:repeat(3,1fr)} }

/* ---------- CHIFFRES en rupture ---------- */
.chiffres{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,4vw,48px)}
.chiffres div{border-top:2px solid var(--amber); padding-top:24px}
.chiffres .n{display:block; font-family:'Fraunces',serif; font-size:clamp(2rem,4.4vw,3.2rem); color:var(--cream); line-height:1}
.chiffres .l{display:block; margin-top:10px; color:var(--mut); font-size:15px; line-height:1.55}
@media(max-width:820px){ .chiffres{grid-template-columns:repeat(2,1fr)} }

/* ---------- COMPARAISON : ce que ce n'est pas / ce que c'est ---------- */
.vs{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.vs > div{padding:clamp(30px,3.4vw,44px); border:1px solid var(--line); border-radius:2px}
.vs .no{background:var(--bg3)}
.vs .yes{background:linear-gradient(160deg, rgba(232,176,107,.11), transparent 70%); border-color:rgba(232,176,107,.45)}
.vs .k{font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; margin-bottom:20px; display:block; line-height:1.5}
.vs .no .k{color:var(--mut)}
.vs .yes .k{color:var(--amber)}
.vs h3{font-size:clamp(1.15rem,2vw,1.4rem); margin-bottom:22px; line-height:1.25}
.vs ul{list-style:none}
.vs li{padding:16px 0 16px 30px; position:relative; color:var(--mut); font-size:15.5px; line-height:1.65; border-bottom:1px solid rgba(74,63,50,.45)}
.vs li:first-child{padding-top:0}
.vs li:first-child:before{top:0}
.vs li:last-child{border:0; padding-bottom:0}
.vs .no li:before{content:'\00d7'; position:absolute; left:0; top:16px; color:#8a7a68; font-size:18px; line-height:1.5}
.vs .yes li:before{content:'\2014'; position:absolute; left:0; top:16px; color:var(--amber); line-height:1.5}
.vs .yes li{color:var(--txt)}
@media(max-width:760px){ .vs{grid-template-columns:1fr; gap:16px} }

/* ---------- BLOCS SEO en formats varies ---------- */
.duo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,5vw,70px); align-items:center}
.duo.inv .vis{order:2}
.duo .vis img{width:100%; height:auto; border:1px solid var(--line)}
.duo h3{font-size:clamp(1.35rem,2.6vw,1.9rem); margin:14px 0 16px}
.duo p{color:var(--mut); margin-bottom:14px}
.duo .lab{color:var(--amber); font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; font-weight:600}
@media(max-width:860px){ .duo{grid-template-columns:1fr} .duo.inv .vis{order:0} }

/* bloc large sur fond image, texte en colonne etroite */
.large{position:relative; overflow:hidden; min-height:62vh; display:flex; align-items:flex-end}
.large img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.large:after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,16,12,.96) 8%, rgba(20,16,12,.45) 62%, rgba(20,16,12,.72)), linear-gradient(90deg, rgba(20,16,12,.92) 0%, rgba(20,16,12,.72) 46%, rgba(20,16,12,.2) 82%)}
.large .in{position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:0 var(--pad) clamp(48px,6vw,72px); width:100%}
.large .col{max-width:50ch}
.large h3{font-size:clamp(1.4rem,3vw,2.2rem); margin:14px 0 16px}
.large p{color:var(--mut)}
.large p+p{margin-top:14px}
.large .in{padding-bottom:clamp(56px,7vw,86px)}

/* texte seul, centre, respiration */
.seul{max-width:62ch; margin:0 auto; text-align:center}
.seul h3{font-size:clamp(1.4rem,2.8vw,2rem); margin:14px 0 18px}
.seul p{color:var(--mut); margin-bottom:14px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer; list-style:none; padding:24px 48px 24px 0; font-family:'Fraunces',serif; font-size:clamp(1.05rem,1.9vw,1.3rem); position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+'; position:absolute; right:6px; top:50%; transform:translateY(-50%); color:var(--amber); font-size:1.5rem; font-family:'Manrope',sans-serif}
.faq details[open] summary:after{content:'\2013'}
.faq details[open] summary{color:var(--amber2)}
.faq .rep{padding:4px 48px 28px 0; color:var(--mut); max-width:80ch}
.faq .rep p{margin-bottom:12px}

/* ---------- CTA final ---------- */
.cta{position:relative; overflow:hidden; text-align:center}
.cta:before{content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 120%, rgba(232,176,107,.2), transparent 62%)}
.cta .in{position:relative; z-index:2}
.cta h2{font-size:clamp(2rem,4.6vw,3.4rem); margin:18px auto 20px; max-width:18ch}
.cta p{color:var(--mut); max-width:52ch; margin:0 auto 34px; font-size:1.08rem}
.cta .acts{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

footer{background:var(--bg3); border-top:1px solid var(--line); padding:46px 0; color:var(--mut); font-size:14.5px}
footer .in{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap}

/* modules dynamiques : masques tant qu'ils n'ont rien a afficher */
.gl-sec{display:none;}
  .gl-note{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:26px;}
  .gl-note b{font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--cream); font-weight:600;}
  .gl-stars{color:var(--amber); letter-spacing:3px; font-size:19px;}
  .gl-count{font-size:15px; color:var(--mut); letter-spacing:.4px;}
  .gl-avis-liste{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .gl-avis{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--amber); padding:22px 22px 20px;}
  .gl-avis header{display:flex; align-items:center; gap:10px; margin-bottom:8px;}
  .gl-ini{width:32px; height:32px; border-radius:50%; background:var(--amber); color:#221a10; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px;}
  .gl-avis header b{color:var(--cream); font-weight:600; font-size:16.5px;}
  .gl-date{font-size:13.5px; color:var(--mut); margin-left:auto;}
  .gl-avis p{color:var(--mut); font-size:16.5px; margin-top:8px;}
  .gl-photos{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
  .gl-photos a{display:block; overflow:hidden; border:1px solid var(--line); border-radius:3px; aspect-ratio:1/1;}
  .gl-photos img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
  .gl-photos a:hover img{transform:scale(1.05);}
  .gl-maj{font-size:14px; color:var(--mut); margin-top:20px;}
  @media(max-width:820px){ .gl-avis-liste{grid-template-columns:1fr;} .gl-photos{grid-template-columns:repeat(2,1fr);} }

/* apparition */
.rev{opacity:0; transform:translateY(26px); transition:opacity .8s, transform .8s}
.rev.on{opacity:1; transform:none}
@media(prefers-reduced-motion:reduce){ .rev{opacity:1; transform:none} .ticker .t{animation:none} }


/* --- module blog : dernieres actualites --- */

    .dern-actus{padding:78px 0;background:var(--bg2);border-top:1px solid var(--line);}
    .dern-actus .in{max-width:1200px;margin:0 auto;padding:0 26px;}
    .dern-actus .tete{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:34px;flex-wrap:wrap;}
    .dern-actus h2{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:600;line-height:1.08;margin:0;color:var(--cream);}
    .dern-actus .tout{font-size:14.5px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--amber);border-bottom:1px solid currentColor;padding-bottom:3px;}
    .dern-actus .grille{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
    .dern-actus a.art{display:block;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--amber);overflow:hidden;transition:border-color .2s;}
    .dern-actus a.art:hover{border-color:var(--amber);}
    .dern-actus a.art .vis{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--line);}
    .dern-actus a.art .txt{padding:18px 20px;}
    .dern-actus a.art h3{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;line-height:1.25;margin:0 0 6px;color:var(--cream);}
    .dern-actus a.art time{display:block;font-size:14.5px;color:var(--mut);letter-spacing:.4px;}
    @media(max-width:860px){.dern-actus .grille{grid-template-columns:1fr;}.dern-actus{padding:56px 0;}.dern-actus h2{font-size:30px;}}

/* ---------- FICHES MODELE (page creations) ---------- */
.sf4.c3{grid-template-columns:repeat(3,1fr)}
.sf4 .sm{display:block; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); font-size:14px; color:var(--amber); line-height:1.6}
.sf4 .sm b{color:var(--amber2); font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-size:11px; display:block; margin-bottom:5px}
@media(max-width:1000px){ .sf4.c3{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .sf4.c3{grid-template-columns:1fr} }

/* ---------- GALERIE : grille de photos + visionneuse ---------- */
.gal{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.gal figure{position:relative; overflow:hidden; background:var(--bg3); aspect-ratio:3/4; cursor:zoom-in}
.gal img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute; left:0; right:0; bottom:0; padding:26px 18px 15px; background:linear-gradient(0deg, rgba(20,16,12,.95) 40%, transparent); font-size:13.5px; color:var(--mut)}
@media(max-width:860px){ .gal{grid-template-columns:repeat(2,1fr); gap:12px} }
.lb{position:fixed; inset:0; z-index:120; background:rgba(14,11,8,.96); display:none; align-items:center; justify-content:center; padding:24px}
.lb.open{display:flex}
.lb img{max-width:min(1100px,92vw); max-height:82vh; object-fit:contain}
.lb .cap{position:absolute; bottom:26px; left:0; right:0; text-align:center; color:var(--mut); font-size:14px; padding:0 20px}
.lb .x{position:absolute; top:20px; right:24px; font-size:30px; color:var(--txt); cursor:pointer; line-height:1}

/* ---------- CONTACT : coordonnees ---------- */
.coord{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.coord a{display:block; background:var(--bg2); border:1px solid var(--line); padding:30px 28px; transition:.25s}
.coord a:hover{border-color:var(--amber); transform:translateY(-3px)}
.coord .k{display:block; font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--amber); margin-bottom:12px}
.coord .v{display:block; font-family:'Fraunces',serif; font-size:clamp(1.2rem,2.4vw,1.6rem); color:var(--cream); line-height:1.25; overflow-wrap:anywhere}
.coord p{margin-top:12px; font-size:14.5px; color:var(--mut); line-height:1.6}
@media(max-width:700px){ .coord{grid-template-columns:1fr} }

/* ---------- GARDE-FOU : jamais deux paragraphes colles ---------- */
p+p{margin-top:14px}
.duo p+p, .faq .rep p+p{margin-top:0}
