/* Pages prestations (mariage, drone, entreprise) — même charte que l'accueil :
   fond blanc et gris, boutons noirs, touches dorées, Fraunces + Plus Jakarta Sans. */
:root{
  --blanc:#fff;--gris-1:#f7f7f8;--gris-2:#efeff1;
  --noir:#111113;--noir-2:#1c1c20;--encre:#26262b;
  --gris:#71717a;--gris-clair:#52525b;
  --or:#95761f;--or-vif:#c49a2c;--or-clair:#e0c377;
  --bord:rgba(17,17,19,.1);--bord-fort:rgba(17,17,19,.16);
  --ombre:0 1px 2px rgba(17,17,19,.04),0 8px 30px rgba(17,17,19,.06);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',-apple-system,sans-serif;background:var(--blanc);color:var(--encre);line-height:1.65;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.serif{font-family:'Fraunces',serif;font-style:italic;font-weight:500}
.dore{color:var(--or)}

/* ---------- EN-TÊTE ---------- */
.entete{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);
  backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid var(--bord)}
.entete .cadre{width:min(1120px,90vw);margin:0 auto;height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.marque{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2em;font-size:.8rem;color:var(--noir);white-space:nowrap}
.marque img{width:28px;height:28px;border-radius:50%}
.liens{display:flex;gap:26px;font-size:.84rem;color:var(--gris-clair);font-weight:500}
.liens a{transition:color .3s}
.liens a:hover,.liens a[aria-current]{color:var(--or)}
.btn-entete{font-size:.74rem;padding:8px 18px;border-radius:100px;background:var(--noir);color:var(--blanc);font-weight:700;white-space:nowrap;transition:background .3s}
.btn-entete:hover{background:var(--or)}
@media(max-width:860px){.liens{display:none}}
@media (hover:none){.entete{background:rgba(255,255,255,.96);backdrop-filter:none;-webkit-backdrop-filter:none}}   /* flou coûteux sur téléphone */

/* ---------- BOUTONS ---------- */
.boutons{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--noir);color:var(--blanc);
  font-weight:700;font-size:.95rem;padding:16px 32px;border-radius:100px;border:1px solid var(--noir);
  box-shadow:0 8px 26px rgba(17,17,19,.16);transition:transform .2s,background .3s}
.btn:hover{transform:translateY(-2px);background:var(--noir-2)}
.btn-contour{display:inline-flex;align-items:center;padding:15px 30px;border-radius:100px;font-size:.92rem;font-weight:600;
  border:1px solid var(--bord-fort);background:var(--blanc);color:var(--noir);transition:border-color .3s,color .3s}
.btn-contour:hover{border-color:var(--or);color:var(--or)}

/* ---------- OUVERTURE ---------- */
.ouverture{padding:clamp(56px,8vw,100px) 6vw clamp(40px,6vw,70px);
  background:radial-gradient(900px 520px at 50% -5%,rgba(149,118,31,.07),transparent 62%),
             linear-gradient(180deg,var(--blanc) 0%,var(--gris-1) 100%)}
.ouverture .cadre{width:min(1120px,100%);margin:0 auto}
.fil{font-size:.78rem;color:var(--gris);margin-bottom:26px}
.fil a{color:var(--gris-clair);font-weight:600}
.fil a:hover{color:var(--or)}
.sur-titre{font-size:.72rem;letter-spacing:.38em;text-transform:uppercase;color:var(--or);font-weight:700}
h1{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-.02em;line-height:1.08;
  font-size:clamp(2.4rem,6.4vw,4.4rem);color:var(--noir);margin-top:16px;max-width:17ch}
h1 .serif,.insecable{white-space:nowrap}   /* « Puy-en-Velay » ne se coupe pas au trait d'union */
.chapo{margin-top:22px;font-size:clamp(1.02rem,1.5vw,1.16rem);color:var(--gris-clair);font-weight:300;max-width:60ch}
.media-une{margin-top:clamp(40px,6vw,64px);border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(17,17,19,.16);background:var(--noir)}
.media-une img,.media-une video{width:100%;aspect-ratio:16/9;object-fit:cover}
.legende{margin-top:12px;font-size:.82rem;color:var(--gris);text-align:center}

/* ---------- SECTIONS ---------- */
.bloc{padding:clamp(64px,9vw,112px) 6vw}
.bloc.gris{background:var(--gris-1)}
.bloc .cadre{width:min(1120px,100%);margin:0 auto}
h2{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-.015em;line-height:1.15;font-size:clamp(1.8rem,3.6vw,2.6rem);color:var(--noir)}
.intro{margin-top:14px;color:var(--gris-clair);font-weight:300;max-width:62ch;font-size:1.02rem}
.trait{width:52px;height:2px;background:var(--or);margin-top:20px;border-radius:2px}

.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:18px;margin-top:40px}
.carte{background:var(--blanc);border:1px solid var(--bord);border-radius:20px;padding:26px 24px;box-shadow:var(--ombre)}
.bloc:not(.gris) .carte{background:var(--gris-1);box-shadow:none}
.carte h3{font-size:1.02rem;font-weight:700;color:var(--noir);display:flex;gap:10px;align-items:baseline}
.carte h3::before{content:"✦";color:var(--or);font-size:.85rem}
.carte p{margin-top:8px;font-size:.93rem;color:var(--gris-clair);font-weight:300}

.etapes{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:26px;margin-top:40px;counter-reset:etape}
.etapes li{counter-increment:etape;border-top:1px solid var(--bord-fort);padding-top:18px}
.etapes li::before{content:"0" counter(etape);font-family:'Fraunces',serif;font-style:italic;font-size:1.5rem;color:var(--or)}
.etapes h3{font-size:1rem;font-weight:700;color:var(--noir);margin-top:6px}
.etapes p{margin-top:6px;font-size:.93rem;color:var(--gris-clair);font-weight:300}

.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
.galerie figure{border-radius:16px;overflow:hidden;background:var(--gris-2);position:relative}
.galerie img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s}
.galerie figure:hover img{transform:scale(1.03)}
.galerie figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;font-size:.78rem;color:#fff;
  background:linear-gradient(transparent,rgba(12,12,14,.72))}
@media(max-width:700px){.galerie{grid-template-columns:repeat(2,1fr)}}

.projet{margin-top:44px;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.projet+.projet{margin-top:56px}
.projet .visuel{border-radius:20px;overflow:hidden;background:var(--noir);box-shadow:var(--ombre)}
.projet .visuel video,.projet .visuel img{width:100%;aspect-ratio:16/9;object-fit:cover}
.projet .visuel.vertical{max-width:300px;justify-self:center;width:100%}
@media(max-width:800px){.projet .visuel.vertical{max-width:240px}}
.projet .visuel.vertical video{aspect-ratio:9/16}
.projet h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;color:var(--noir);line-height:1.2}
.projet .type{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or);font-weight:700;margin-bottom:10px}
.projet p{margin-top:10px;color:var(--gris-clair);font-weight:300;font-size:.96rem}
.projet .lien{display:inline-block;margin-top:16px;font-weight:700;font-size:.88rem;color:var(--or)}
@media(max-width:800px){.projet{grid-template-columns:1fr}}

.tarif{display:flex;flex-wrap:wrap;gap:28px 60px;align-items:center;justify-content:space-between;margin-top:36px;
  background:var(--blanc);border:1px solid var(--bord);border-radius:24px;padding:clamp(26px,4vw,44px);box-shadow:var(--ombre)}
.tarif .prix{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2.2rem,5vw,3.2rem);color:var(--noir);line-height:1}
.tarif .prix small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or);font-weight:700;margin-bottom:10px}
.tarif p{max-width:52ch;color:var(--gris-clair);font-weight:300;font-size:.96rem}
.grille-prix{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:18px;margin-top:36px}
.grille-prix div{background:var(--blanc);border:1px solid var(--bord);border-radius:20px;padding:24px;box-shadow:var(--ombre)}
.grille-prix span{display:block;font-size:.84rem;color:var(--gris-clair);font-weight:500}
.grille-prix strong{display:block;margin-top:8px;font-family:'Fraunces',serif;font-weight:600;font-size:1.9rem;color:var(--noir)}
.note{margin-top:22px;font-size:.92rem;color:var(--gris-clair);font-weight:300;max-width:70ch}

.zones{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;list-style:none}
.zones li{padding:9px 16px;border-radius:100px;border:1px solid var(--bord-fort);font-size:.86rem;color:var(--encre);background:var(--blanc)}

.faq{margin-top:34px;border-top:1px solid var(--bord)}
.faq details{border-bottom:1px solid var(--bord)}
.faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-weight:600;color:var(--noir);position:relative;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--or);font-weight:400;transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--gris-clair);font-weight:300;max-width:72ch;font-size:.96rem}

/* ---------- APPEL FINAL ---------- */
.appel{background:var(--noir);color:#fff;text-align:center;padding:clamp(70px,10vw,120px) 6vw}
.appel h2{color:#fff}
.appel p{margin:16px auto 0;color:rgba(255,255,255,.74);font-weight:300;max-width:52ch}
.appel .boutons{justify-content:center}
.appel .btn{background:#fff;color:var(--noir);border-color:#fff}
.appel .btn:hover{background:var(--or-clair);border-color:var(--or-clair)}
.appel .btn-contour{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.appel .btn-contour:hover{border-color:#fff;color:#fff}

/* ---------- PIED DE PAGE ---------- */
.pied{background:var(--gris-1);border-top:1px solid var(--bord);padding:44px 6vw 50px;text-align:center;font-size:.84rem;color:var(--gris)}
.pied nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-bottom:16px}
.pied nav a{color:var(--gris-clair);font-weight:600}
.pied nav a:hover,.pied nav a[aria-current]{color:var(--or)}
.pied a{color:var(--gris-clair)}
