
  /* ===== Mariage Lyon, 29/10/2026 (préfixe mg-) ===== */
  .hero .hero-fallback{display:block}
  .hero::before{background:linear-gradient(rgba(6,13,24,.80),rgba(6,13,24,.90))}
  @media(min-width:900px){.hero .hero-fallback{left:auto;right:0;width:46%;object-position:50% 30%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%)}
    .hero::before{background:linear-gradient(90deg,rgba(6,13,24,.97) 0%,rgba(6,13,24,.93) 50%,rgba(6,13,24,.35) 78%,rgba(6,13,24,.2) 100%)}}
  .hero-urgency{display:block}
  .hero-urgency .dot{display:inline-block;margin-right:.6em;vertical-align:middle}
  .mg-venues{padding:26px 0;border-bottom:1px solid var(--line);text-align:center}
  .mg-venues p{margin:0;font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.6;color:var(--gold)}
  .mg-venues span{color:var(--muted);margin:0 .35em}
  #vecu .gallery-grid,.gallery-grid{grid-template-columns:repeat(3,1fr)}
  @media(max-width:900px){.gallery-grid{grid-template-columns:1fr 1fr}}
  .mg-bgs{position:relative;overflow:hidden;isolation:isolate}
  .mg-bgs>.mg-bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
  .mg-bgs::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(6,13,24,.88),rgba(6,13,24,.94))}
  .mg-bgs:has(.mg-vbg)::before{background:linear-gradient(rgba(6,13,24,.42),rgba(6,13,24,.62) 45%,rgba(6,13,24,.85))}
  .mg-mosaic{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:12px;margin-top:30px}
  .mg-mosaic figure{margin:0;border-radius:6px;overflow:hidden;border:1px solid var(--line);min-width:0}
  .mg-mosaic img{display:block;width:100%;height:100%;object-fit:cover}
  .mg-a{grid-row:1/3}
  .mg-a img{object-position:85% 30%}
  .mg-b{grid-column:2/4;aspect-ratio:16/9}
  .mg-c,.mg-d{aspect-ratio:4/3}
  .mg-credit{margin-top:10px;font-size:12px;letter-spacing:.06em;color:var(--muted);text-align:right}
  .mg-credit a{color:var(--gold)}
  .mg-more{display:grid;grid-template-columns:1fr 1.3fr;gap:26px;margin-top:34px;align-items:center}
  .mg-case{border:1px solid var(--line);border-radius:6px;padding:24px}
  .mg-when{display:block;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold)}
  .mg-where{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:4px 0 8px}
  .mg-case h3{font-size:1.15rem;margin-bottom:6px}
  .mg-case p{color:var(--soft);line-height:1.7}
  .mg-story{margin:0;font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.55;color:var(--text);padding-left:24px;border-left:2px solid var(--gold)}
  .mg-story-who{display:block;margin-top:12px;font:500 13px var(--sans);font-style:normal;letter-spacing:.06em;color:var(--muted)}
  #tarifs .offer-lead{text-align:center}
  .mg-hours{font-size:.88rem;color:var(--gold);margin:-4px 0 14px;letter-spacing:.02em}
  .mg-calc{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;max-width:980px;margin:30px auto 26px}
  .mg-in,.mg-out{border:1px solid var(--line);border-radius:6px;padding:26px;min-width:0}
  .mg-out{border-color:rgba(194,163,107,.5);background:linear-gradient(180deg,rgba(194,163,107,.10),transparent)}
  .mg-k{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:14px}
  .mg-in fieldset{border:0;padding:0;margin:0 0 16px;display:grid;gap:10px}
  .mg-in legend{font-size:.85rem;color:var(--muted);margin-bottom:8px}
  .mg-in label{min-height:44px;display:flex;gap:10px;align-items:center;cursor:pointer;color:var(--text);font-size:.97rem;letter-spacing:0}
  .mg-in input{accent-color:var(--gold);width:18px;height:18px;flex:none}
  .mg-in input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .mg-total{font-family:var(--serif);font-size:2.8rem;color:var(--gold);line-height:1;margin:4px 0 10px}
  .mg-sum{color:var(--text);margin:0 0 12px}
  .mg-note{font-size:.92rem;color:var(--soft);line-height:1.6;margin:0 0 18px}
  .mg-quiz{max-width:720px;margin:26px auto 0;text-align:center;border:1px solid var(--line);border-radius:6px;padding:30px}
  .mg-qn{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .mg-q{font-family:var(--serif);font-style:italic;font-size:1.6rem;line-height:1.4;color:var(--text);margin:14px 0 22px;min-height:2.8em}
  .mg-qb{display:flex;gap:12px;justify-content:center}
  .mg-qb .btn.ok{border-color:var(--gold);background:var(--gold);color:var(--bg)}
  .mg-qb .btn.ko{opacity:.45}
  .mg-exp{color:var(--soft);line-height:1.65;margin:20px auto 16px;max-width:560px;min-height:0}
  .mg-quiz [hidden]{display:none!important}
  @media(max-width:860px){.mg-mosaic{grid-template-columns:1fr 1fr}.mg-a{grid-row:auto;grid-column:1/3;aspect-ratio:1}.mg-b{grid-column:1/3}.mg-more,.mg-calc{grid-template-columns:1fr}.mg-q{font-size:1.3rem}}
