:root{
  --nuit:#0C1620;        /* fond ink profond */
  --nuit-2:#13202D;      /* panneaux discrets */
  --ivoire:#F1E9E3;      /* texte */
  --ivoire-doux:rgba(241,233,227,.62);
  --laiton:#E3A184;      /* accent laiton pêche, raffiné */
  --rose:#EDB89E;        /* second ton, plus clair */
  --brume:#8FB0CE;
  --line:rgba(227,161,132,.28);
  --serif:'EB Garamond', Georgia, serif;   /* corps + titres de section */
  --script:'Parisienne', cursive;           /* accroche hero + titres d'avis */
  --sans:'Karla', system-ui, sans-serif;    /* intertitres, nav, boutons */
  --pad:clamp(1.4rem, 5vw, 3rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--nuit);color:var(--ivoire);font-family:var(--serif);font-weight:400;font-size:1.12rem;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:var(--laiton)}

.eyebrow{font-family:var(--sans);font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--laiton);font-weight:500;display:inline-block;position:relative;padding-left:2.6rem}
.eyebrow::before{content:"";position:absolute;left:0;top:.5em;width:1.9rem;height:1px;background:var(--line)}
.center .eyebrow,.eyebrow.center{padding-left:0}
.center .eyebrow::before,.eyebrow.center::before{display:none}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.16;color:var(--ivoire);letter-spacing:.005em}
h1{font-size:clamp(2.1rem,4.4vw,3.2rem);margin:.9rem 0 1.4rem}
h2{font-size:clamp(1.95rem,3.6vw,2.75rem);margin:.9rem 0 1.5rem}
h3{font-size:1.5rem;margin-bottom:.5rem}
section{padding:clamp(4.5rem,9vw,8.5rem) var(--pad);max-width:1080px;margin:0 auto}
.lead{font-size:1.14rem;line-height:1.9;max-width:62ch;color:var(--ivoire-doux)}
.lead + .lead{margin-top:1.1rem}
.center{text-align:center;margin-left:auto;margin-right:auto}
.center .lead{margin-left:auto;margin-right:auto}

/* ---- NAV fine, centrée, posée sur le contenu ---- */
.keyboard-wrap{position:absolute;top:0;left:0;right:0;z-index:50;background:transparent}
.keyboard{display:flex;justify-content:center;flex-wrap:wrap;gap:2.4rem;max-width:1180px;margin:0 auto;padding:2rem 1.4rem}
.key{background:none;color:var(--ivoire);border:none;padding:0;min-width:0;font-family:var(--sans);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;text-decoration:none;opacity:.82;transition:opacity .3s,color .3s}
.key.white,.key.black{background:none;color:var(--ivoire)}
.key:hover,.key:focus-visible{opacity:1;color:var(--laiton)}
.key[aria-current="page"]{opacity:1;color:var(--laiton);box-shadow:none}

/* ---- BOUTONS ---- */
.btn{display:inline-block;padding:.95rem 2.1rem;font-family:var(--sans);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;text-decoration:none;transition:.35s;border:1px solid var(--line);color:var(--ivoire);cursor:pointer;background:none}
.btn:hover{background:var(--laiton);border-color:var(--laiton);color:var(--nuit)}
.btn-solid{background:var(--laiton);border-color:var(--laiton);color:var(--nuit)}
.btn-solid:hover{background:var(--rose);border-color:var(--rose)}
.btn-ghost{color:var(--ivoire);background:none}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}
.center .cta-row{justify-content:center}

/* ---- HERO ACCUEIL plein cadre ---- */
.hero{min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 4rem;max-width:none;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:0;background:
  linear-gradient(180deg,rgba(12,22,32,.55) 0%,rgba(12,22,32,.30) 40%,rgba(12,22,32,.80) 100%),
  url('images/hero-mahkah.webp') center 38%/cover no-repeat}
.hero>*{position:relative;z-index:2}
.wordmark{margin:0 0 1.9rem;line-height:0;transform:translateY(0.5cm)}
.wordmark img{width:clamp(120px,16vw,182px);margin:0 auto;opacity:0;transform:translateY(16px) scale(.98);
  transition:opacity 1.2s cubic-bezier(.2,.7,.3,1),transform 1.2s cubic-bezier(.2,.7,.3,1);
  filter:drop-shadow(0 8px 40px rgba(12,22,32,.7))}
.wordmark.on img{opacity:.96;transform:none}
.hero-baseline{padding-left:0;margin-bottom:1.4rem;color:var(--laiton)}
.hero-baseline::before{display:none}
@media (max-width:640px){
  .hero{min-height:auto;justify-content:flex-start;padding:calc(53vw + 2.4rem) 1.4rem 3.6rem;background:var(--nuit)}
  .hero::before{background:
    linear-gradient(180deg,rgba(12,22,32,.55) 0%,rgba(12,22,32,.12) 14%,rgba(12,22,32,0) 30%,rgba(12,22,32,0) 40%,rgba(12,22,32,.72) 54%,var(--nuit) 66%),
    url('images/hero-mahkah.webp') top center / 100% auto no-repeat;
    background-color:var(--nuit)}
  .wordmark{transform:none;margin-bottom:1.2rem}
  .wordmark img{width:92px}
}
.tagline{font-family:var(--script);font-weight:400;font-size:clamp(2rem,4vw,3rem);color:var(--ivoire);line-height:1.35;max-width:20ch;margin:0 auto 2.4rem;text-shadow:0 2px 24px rgba(12,22,32,.7)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- PAGES INTERNES ---- */
.page-head{padding:clamp(6rem,11vw,8rem) var(--pad) 0;max-width:1080px;margin:0 auto}
.crumbs{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ivoire-doux);margin-bottom:1.6rem}
.crumbs a{text-decoration:none;color:var(--ivoire-doux)}
.crumbs a:hover{color:var(--laiton)}

/* ---- GRILLES ---- */
.split{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.frame{border:none;padding:0;background:none}
.frame img{aspect-ratio:3/4;object-fit:cover;width:100%;
  -webkit-mask-image:radial-gradient(ellipse 84% 88% at 50% 50%,#000 60%,transparent 100%);
  mask-image:radial-gradient(ellipse 84% 88% at 50% 50%,#000 60%,transparent 100%)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem;margin-top:2.8rem}
.card{background:var(--nuit-2);border:1px solid var(--line);padding:2.2rem 1.8rem;display:flex;flex-direction:column;gap:.6rem;transition:.35s;text-decoration:none;color:inherit}
.card:hover{border-color:var(--laiton);transform:translateY(-4px)}
.card .duree{font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}
.card h3{font-size:1.4rem}
.card p{color:var(--ivoire-doux);font-size:1.02rem}
.card .prix{margin-top:auto;padding-top:1.2rem;font-family:var(--serif);font-size:1.25rem;color:var(--laiton)}

.membres{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);margin-top:2.8rem}
.membre .role{font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:.3rem;display:block}
.split .frame{border:none;padding:0;background:none}
.membre .frame{width:100%;border:none;padding:0;background:none;margin-bottom:1.4rem}
.membre .frame img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 35%;
  -webkit-mask-image:radial-gradient(ellipse 80% 82% at 50% 45%,#000 52%,transparent 100%);
  mask-image:radial-gradient(ellipse 80% 82% at 50% 45%,#000 52%,transparent 100%)}
.membre p{color:var(--ivoire-doux);font-size:1.06rem;max-width:46ch}
.membre p + p{margin-top:.9rem}
.membre h3{margin-bottom:.9rem}

.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem;margin-top:2.2rem}
.video{position:relative;aspect-ratio:16/9;background:var(--nuit-2);border:1px solid var(--line)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-grid.shorts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:760px;margin-left:auto;margin-right:auto}
.video.short{aspect-ratio:9/16}

/* ---- AVIS : diaporama (accueil) + liste (page avis) ---- */
.avis{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.8rem}
.avis blockquote{border:none;padding:0;font-family:var(--serif);font-size:1.1rem;line-height:1.75;color:var(--ivoire-doux)}
.avis-titre{display:block;font-family:var(--script);font-style:normal;font-size:1.6rem;letter-spacing:0;text-transform:none;color:var(--ivoire);margin-bottom:.6rem}
.avis-longs blockquote{font-size:1.12rem}
.avis cite{display:block;margin-top:1.1rem;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--laiton)}

.slider{position:relative;min-height:14rem;text-align:center}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}
.slide.on{opacity:1;position:relative;pointer-events:auto}
.slide .avis-titre{margin-bottom:1rem}
.slide q{font-family:var(--serif);font-size:1.22rem;line-height:1.85;color:var(--ivoire-doux);quotes:none}
.slide cite{display:block;margin-top:1.6rem;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--laiton)}
.dots{display:flex;gap:.6rem;justify-content:center;margin-top:2.6rem}
.dot{width:7px;height:7px;border-radius:50%;border:1px solid var(--laiton);background:transparent;cursor:pointer;padding:0;transition:.3s}
.dot.on{background:var(--laiton)}

.galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}
.galerie img.large{grid-column:span 2;aspect-ratio:2/1}
.galerie img{aspect-ratio:1;object-fit:cover;filter:saturate(.92);transition:.4s}
.galerie img:hover{filter:saturate(1.08);transform:scale(1.02)}

.faq details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.18rem;list-style:none;color:var(--ivoire)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--laiton);font-family:var(--sans)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--ivoire-doux);padding-top:.7rem;font-size:1.02rem;max-width:72ch}

.rich p{color:var(--ivoire-doux);max-width:70ch;margin-bottom:1.2rem}
.rich h2{margin-top:2.6rem}
.rich h3{margin-top:2rem;color:var(--ivoire)}
.rich ul{margin:0 0 1.2rem 1.1rem}
.rich li{margin-bottom:.5rem;color:var(--ivoire-doux)}

.villes-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.villes-links a{border:1px solid var(--line);padding:.55rem 1.2rem;font-family:var(--sans);font-size:.82rem;letter-spacing:.06em;text-decoration:none;transition:.3s}
.villes-links a:hover{background:var(--laiton);border-color:var(--laiton);color:var(--nuit)}

/* ---- BANDEAU ---- */
.band{background:none;max-width:none;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---- CONTACT ---- */
.contact-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}
form{display:grid;gap:1.1rem}
label{font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivoire-doux);display:block;margin-bottom:.4rem}
input,select,textarea{width:100%;background:var(--nuit-2);border:1px solid var(--line);color:var(--ivoire);padding:.85rem .95rem;font-family:var(--sans);font-size:.98rem}
input:focus,select:focus,textarea:focus{outline:1px solid var(--laiton);outline-offset:1px;border-color:transparent}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-note{font-family:var(--sans);font-size:.8rem;color:var(--ivoire-doux);margin-top:.4rem}

/* ---- FOOTER ---- */
footer{padding:clamp(3.5rem,7vw,5.5rem) var(--pad) 3rem;text-align:center;border-top:1px solid var(--line);font-family:var(--sans);font-size:.86rem;color:var(--ivoire-doux)}
.footer-logo{width:78px;margin:0 auto 1.8rem;opacity:.9}
.socials{display:flex;gap:1.8rem;justify-content:center;margin-bottom:1.6rem;flex-wrap:wrap}
.socials a{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--ivoire);opacity:.85}
.socials a:hover{color:var(--laiton)}
.footer-nav{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.footer-nav a{text-decoration:none;color:var(--ivoire-doux)}
.footer-nav a:hover{color:var(--laiton)}
footer p{margin:.5rem auto;max-width:64ch;line-height:1.7}
.credits{font-size:.72rem;opacity:.55;margin-top:1rem;letter-spacing:.03em}
.zones{max-width:64ch;margin:1.4rem auto 0;font-size:.76rem;opacity:.7;line-height:1.7}
.zones a{color:inherit}.zones a:hover{color:var(--laiton)}
.contact-footer{margin:.6rem auto 0;font-size:.95rem;text-align:center}
.contact-footer a{color:var(--laiton);text-decoration:none}
.contact-footer a:hover{color:var(--rose)}
.tel-protege{color:var(--laiton);cursor:pointer}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.reveal.on{opacity:1;transform:none}

.h1-sub{display:block;font-size:.5em;color:var(--ivoire-doux);font-style:italic;margin-top:.3rem}
.autonomie,.nouveaute{background:var(--nuit-2);border:1px solid var(--line);padding:2rem 2.2rem}
.autonomie p,.nouveaute p{color:var(--ivoire-doux);max-width:66ch}
.autonomie h3{color:var(--ivoire);margin:.5rem 0 .7rem}

.illus{max-width:620px;margin:0 auto}
.illus img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;
  -webkit-mask-image:radial-gradient(ellipse 80% 82% at 50% 45%,#000 52%,transparent 100%);
  mask-image:radial-gradient(ellipse 80% 82% at 50% 45%,#000 52%,transparent 100%)}
.illus.large{max-width:900px}
.illus.large img{aspect-ratio:3/2}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.trio img{width:100%;aspect-ratio:3/4;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse 82% 84% at 50% 45%,#000 54%,transparent 100%);
  mask-image:radial-gradient(ellipse 82% 84% at 50% 45%,#000 54%,transparent 100%)}
@media (max-width:760px){.trio{grid-template-columns:1fr;gap:.5rem}}

.vignette{float:right;width:min(300px,38%);margin:0 0 1.6rem 2.4rem}
.vignette img{width:100%;aspect-ratio:4/5;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse 84% 86% at 50% 45%,#000 56%,transparent 100%);
  mask-image:radial-gradient(ellipse 84% 86% at 50% 45%,#000 56%,transparent 100%)}
@media (max-width:700px){.vignette{float:none;width:100%;max-width:340px;margin:0 auto 1.8rem}}

.cadres{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0 2.5rem}
.cadres figure{margin:0}
.cadres img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;
  -webkit-mask-image:radial-gradient(ellipse 84% 84% at 50% 50%,#000 60%,transparent 100%);
  mask-image:radial-gradient(ellipse 84% 84% at 50% 50%,#000 60%,transparent 100%)}
@media (max-width:640px){.cadres{grid-template-columns:1fr 1fr;gap:.6rem}}

.split-cadres{grid-template-columns:2.2fr 1fr;align-items:start;gap:clamp(1.5rem,3vw,2.6rem)}
.split-cadres .rich{max-width:none}
.cadres-col{display:flex;flex-direction:column;gap:.8rem;max-width:230px;margin-left:auto}
.cadres-col figure{margin:0;border:0;padding:0;background:none}
.cadres-col img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;
  -webkit-mask-image:radial-gradient(ellipse 82% 84% at 50% 50%,#000 60%,transparent 100%);
  mask-image:radial-gradient(ellipse 82% 84% at 50% 50%,#000 60%,transparent 100%)}
@media (max-width:820px){
  .split-cadres{grid-template-columns:1fr}
  .cadres-col{order:-1;flex-direction:row;max-width:none}
  .cadres-col figure{flex:1}
  .cadres-col img{aspect-ratio:1/1}
}

.univers-liens{font-family:var(--sans);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin:.4rem 0 1.6rem}
.univers-liens a{color:var(--laiton);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.univers-liens a:hover{border-bottom-color:var(--laiton)}

.lieu-mini{font-family:var(--sans);font-size:.82rem;letter-spacing:.04em;color:var(--ivoire-doux);margin-top:-.2rem}
.lieu-mini a{color:var(--laiton)}

.banniere-prestations{max-width:1180px;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem) var(--pad) 0}
.banniere-prestations img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center 42%;display:block;
  -webkit-mask-image:radial-gradient(ellipse 90% 96% at 50% 50%,#000 58%,transparent 100%);
  mask-image:radial-gradient(ellipse 90% 96% at 50% 50%,#000 58%,transparent 100%)}
@media (max-width:640px){.banniere-prestations img{aspect-ratio:16/10}}

@media (max-width:820px){
  .split,.contact-inner,.row2,.membres{grid-template-columns:1fr}
  .galerie img.large{grid-column:span 1;aspect-ratio:1}
  .keyboard{gap:1.1rem}
  .key{font-size:.66rem;letter-spacing:.16em}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .slide{transition:none}
  html{scroll-behavior:auto}
}

.tight-top{padding-top:clamp(1.75rem,3.5vw,2.75rem)}

/* Diaporama bannière prestations */
.diapo-banniere{max-width:640px;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem) var(--pad) 0;text-align:center}
.diapo{position:relative;height:clamp(250px,34vw,350px);margin:0 auto}
.diapo .dslide{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;transition:opacity 1.1s ease;
  -webkit-mask-image:radial-gradient(ellipse 94% 94% at 50% 50%,#000 76%,transparent 100%);
  mask-image:radial-gradient(ellipse 94% 94% at 50% 50%,#000 76%,transparent 100%)}
.diapo .dslide.on{opacity:1}
.ddot{width:7px;height:7px;border-radius:50%;border:1px solid var(--laiton);background:transparent;cursor:pointer;padding:0;transition:.3s}
.ddot.on{background:var(--laiton)}
.diapo-dots{margin-top:1.4rem}
@media (max-width:640px){.diapo{height:clamp(230px,66vw,330px)}}

/* Espacements resserrés (événements privés) */
.compact{padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(2rem,4vw,3rem)}
.sep-head{padding-top:clamp(2.75rem,5vw,3.9rem);padding-bottom:clamp(2rem,4vw,3rem)}

/* Diaporama en colonne (événements publics) */
.diapo-col{align-self:start}
.diapo-col .diapo{height:clamp(280px,40vw,400px)}
@media (max-width:820px){.diapo-col{order:-1;max-width:420px;margin:0 auto}}

/* Citation mise en avant (événements privés) */
.pull-quote{text-align:center;max-width:760px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(2.5rem,5vw,3.6rem) 1rem}
.pull-quote .pq-text{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.6;color:var(--ivoire);max-width:none}
.pull-quote cite{display:block;margin-top:1.5rem;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--laiton)}

/* Triptyque de photos, hauteur commune (esprit éditorial) */
.triptyque{display:flex;gap:.8rem;justify-content:center;align-items:center;flex-wrap:nowrap;max-width:1040px;margin:0 auto}
.triptyque img{height:clamp(150px,17vw,215px);width:auto;max-width:100%;min-width:0;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse 92% 93% at 50% 50%,#000 72%,transparent 100%);
  mask-image:radial-gradient(ellipse 92% 93% at 50% 50%,#000 72%,transparent 100%)}
@media (max-width:640px){.triptyque{flex-wrap:wrap}.triptyque img{height:auto;width:100%;max-width:300px}}

/* Contenu .rich centré (liste sans puces) */
.center .rich{text-align:center}
.center .rich p{margin-left:auto;margin-right:auto}
.center .rich ul{list-style:none;padding-left:0;max-width:680px;margin:1.3rem auto}
.center .rich ul li{margin:.55rem 0}

/* Espacements autour du triptyque (événements publics) */
.tri-space{padding-top:clamp(3.2rem,6.5vw,5rem);padding-bottom:clamp(1.2rem,2.5vw,1.8rem)}
.tri-after{padding-top:clamp(1.2rem,2.5vw,1.8rem)}

/* Triptyque un peu plus grand (événements privés, 2 portraits) */
.triptyque.triptyque-lg img{height:clamp(180px,20vw,262px)}
@media (max-width:640px){.triptyque.triptyque-lg img{height:auto}}

/* Deux photos un peu plus grandes (brunch) */
.triptyque.triptyque-duo img{height:clamp(200px,22vw,290px)}
@media (max-width:640px){.triptyque.triptyque-duo img{height:auto}}
.triptyque.triptyque-quad{flex-wrap:wrap}
.triptyque.triptyque-quad img{height:clamp(120px,13vw,155px)}
@media (max-width:640px){.triptyque.triptyque-quad img{height:auto}}
.triptyque.triptyque-duo{flex-wrap:wrap}

/* Crédit photo */
.credit{font-size:.78rem;color:var(--ivoire-doux);font-style:italic;margin-top:1rem}

.tarif{margin:2.2rem 0 0;font-family:var(--serif);font-size:clamp(1rem,1.8vw,1.15rem);color:var(--laiton);letter-spacing:.01em;font-style:italic}

/* --- V2 accueil : bandeau confiance + grille Instagram --- */
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 2.2rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ivoire-doux);max-width:880px;margin:0 auto;line-height:1.2}
.trust-row span{position:relative}
.trust-row span+span::before{content:"";position:absolute;left:-1.2rem;top:.42em;width:4px;height:4px;border-radius:50%;background:var(--laiton)}
.insta-grid a{display:block;overflow:hidden;position:relative}
.insta-grid a::after{content:"";position:absolute;inset:0;background:rgba(12,22,32,0);transition:background .35s}
.insta-grid a:hover::after{background:rgba(12,22,32,.16)}
