.hero-page-photo {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; object-position: center 50%; opacity: .42;
  }
.salle { padding: 100px 0 30px; }
.salle-grille { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: start; }
@media (max-width: 860px) { .salle-grille { grid-template-columns: 1fr; gap: 36px; } }
.salle-prose p { color: var(--pierre); font-size: 1.06rem; line-height: 1.78; }
.salle-prose p + p { margin-top: 16px; }
.equip-bloc { background: var(--washi-2); border: 1px solid var(--ligne); border-radius: 10px; padding: 32px 30px; }
.equip-bloc h3 { font-family: var(--display); font-weight: 600; font-size: 1.18rem; color: var(--sumi); margin-bottom: 20px; }
.equip-liste { list-style: none; display: grid; gap: 14px; }
.equip-liste li { display: flex; gap: 13px; align-items: flex-start; font-size: .98rem; color: var(--sumi); line-height: 1.5; }
.equip-liste .ic { width: 26px; height: 26px; margin-top: 1px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: var(--shu); }
.equip-liste .ic svg { width: 14px; height: 14px; fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.tarifs-louer { padding: 70px 0 96px; }
.tarifs-louer .bloc { background: var(--washi-2); border: 1px solid var(--ligne); border-radius: 12px; padding: 46px 48px; }
@media (max-width: 600px) { .tarifs-louer .bloc { padding: 34px 26px; } }
.prix-grille { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 520px; margin: 8px 0 24px; }
@media (max-width: 480px) { .prix-grille { grid-template-columns: 1fr; } }
.prix-carte { background: var(--blanc); border: 1px solid var(--ligne); border-radius: 8px; padding: 24px 26px; }
.prix-carte .k { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--shu); }
.prix-carte .v { font-family: var(--display); font-weight: 600; font-size: 2rem; color: var(--sumi); line-height: 1.1; margin-top: 6px; }
.prix-carte .v small { font-family: var(--body); font-size: .92rem; font-weight: 400; color: var(--pierre); }
.tarifs-louer .note { color: var(--pierre); font-size: .96rem; max-width: 60ch; }
.tarifs-louer .note + .note { margin-top: 10px; }
.tarifs-louer .note strong { color: var(--sumi); font-weight: 600; }
.tarifs-louer .actions { margin-top: 30px; display: flex; gap: 14px; flex-wrap: wrap; }
.cta-finale .mail { margin-top: 22px; font-size: .92rem; color: rgba(255,255,255,.6); }
.cta-finale .mail a { color: var(--shu-tint); text-decoration: none; }
.cta-finale .mail a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
