/* === TOKENS === */
:root {
  --ink:       #0B0D10;
  --ivory:     #FAF7F0;
  --sand:      #EDE3CC;
  --sand2:     #E3D7BB;
  --gold:      #B8862E;
  --gold-s:    #C99A45;
  --gold-d:    #8C6420;
  --taupe:     #5C5447;
  --taupe-l:   #83786A;
  --white:     #FFFFFF;
  --r:         2px;
  --max:       1160px;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; background:var(--ivory); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }

.wrap { max-width:var(--max); margin:0 auto; padding:0 28px; }

/* === TYPOGRAPHY === */
h1,h2,h3 { font-family:'Fraunces',serif; font-weight:500; line-height:1.12; }
h1 { font-size:clamp(32px,4.4vw,54px); }
h1 em { font-style:italic; color:var(--gold-s); }
h2 { font-size:clamp(26px,3.2vw,40px); margin-bottom:16px; }
.h2-light { color:var(--ivory); }
h3 { font-size:18px; margin-bottom:8px; }
p { color:var(--taupe); font-size:15.5px; }
.eyebrow { display:block; font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-s); margin-bottom:16px; }
.eyebrow-dark { color:var(--gold-d); }
.section-sub { font-size:17px; max-width:600px; margin-bottom:48px; }
.section-sub.light { color:rgba(250,247,240,.65); }

/* === BUTTONS === */
.btn { display:inline-flex; align-items:center; justify-content:center; padding:14px 28px; font-family:'Inter',sans-serif; font-size:15px; font-weight:600; border-radius:var(--r); border:1.5px solid transparent; cursor:pointer; transition:all .2s; white-space:nowrap; }
.btn-gold { background:var(--gold); color:var(--white); border-color:var(--gold); }
.btn-gold:hover { background:var(--gold-d); border-color:var(--gold-d); }
.btn-outline { background:transparent; color:var(--ivory); border-color:rgba(250,247,240,.35); }
.btn-outline:hover { border-color:var(--ivory); background:rgba(250,247,240,.08); }
.btn-dark { background:var(--ink); color:var(--ivory); }
.btn-dark:hover { background:#1a1e24; }

/* === NAV === */
.nav { position:sticky; top:0; z-index:200; background:rgba(250,247,240,.94); backdrop-filter:blur(12px); border-bottom:1px solid rgba(11,13,16,.08); }
.nav-inner { max-width:var(--max); margin:0 auto; padding:0 28px; height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:9px; font-family:'Fraunces',serif; font-size:17px; font-weight:500; flex-shrink:0; }
.brand em { font-style:italic; color:var(--gold); }
.brand-mark { width:28px; height:28px; object-fit:contain; }
.nav-links { display:flex; gap:32px; }
.nav-links a { font-size:14px; font-weight:500; color:var(--taupe); transition:color .2s; }
.nav-links a:hover { color:var(--ink); }
.nav-cta { padding:10px 20px; font-size:14px; }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-burger span { display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; transition:all .25s; }
.nav-mobile { display:none; flex-direction:column; background:var(--ivory); border-top:1px solid rgba(11,13,16,.08); padding:16px 28px 20px; gap:2px; }
.nav-mobile a { padding:12px 0; font-weight:500; font-size:16px; border-bottom:1px solid rgba(11,13,16,.07); }
.nav-mobile.open { display:flex; }
@media(max-width:860px) { .nav-links,.nav-cta { display:none; } .nav-burger { display:flex; } }

/* === HERO === */
.hero { position:relative; background:var(--ink); overflow:hidden; }
.hero-bg { position:absolute; inset:0; background:radial-gradient(circle at 75% 20%, rgba(184,134,46,.2) 0%, transparent 50%), radial-gradient(circle at 10% 90%, rgba(184,134,46,.1) 0%, transparent 45%); pointer-events:none; }
.hero-inner { position:relative; max-width:var(--max); margin:0 auto; padding:72px 28px 0; display:grid; grid-template-columns:1fr 420px; gap:48px; align-items:end; }
.hero-text { padding-bottom:72px; }
.hero-text .eyebrow { color:var(--gold-s); }
.hero-text h1 { color:var(--ivory); margin-bottom:20px; max-width:580px; }
.hero-sub { color:rgba(250,247,240,.68); font-size:17px; max-width:500px; margin-bottom:32px; }
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px; }
.hero-kpis { display:flex; gap:40px; border-top:1px solid rgba(250,247,240,.14); padding-top:28px; flex-wrap:wrap; }
.hero-kpis strong { display:block; font-family:'Fraunces',serif; font-size:28px; color:var(--gold-s); font-weight:500; }
.hero-kpis span { font-size:12.5px; color:rgba(250,247,240,.5); }
.hero-photo { position:relative; align-self:end; }
.hero-photo img { width:100%; aspect-ratio:3/3.4; object-fit:cover; object-position:top center; }
.hero-badge { position:absolute; left:-24px; bottom:36px; background:var(--ivory); padding:16px 22px; border-left:3px solid var(--gold); box-shadow:0 16px 36px rgba(0,0,0,.28); }
.hero-badge strong { display:block; font-family:'Fraunces',serif; font-size:16px; }
.hero-badge span { font-size:12px; color:var(--taupe); }
@media(max-width:860px) {
  .hero-inner { grid-template-columns:1fr; padding-top:40px; }
  .hero-photo { max-width:320px; margin:0 auto; order:-1; }
  .hero-badge { left:0; bottom:-20px; }
  .hero-text { padding-bottom:44px; padding-top:36px; }
  .hero-kpis { gap:24px; }
}

/* === SECTIONS === */
.section { padding:88px 0; }
.section-who { background:var(--ivory); }
.section-trust { background:var(--ink); }
.section-patrimoine { background:var(--sand); }
.section-actu { background:var(--ivory); }

.actu-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:32px; }
.actu-card { background:var(--white); border:1px solid var(--sand2); border-radius:var(--r); padding:28px 24px; }
.actu-tag { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-d); background:var(--sand); padding:4px 12px; border-radius:100px; margin-bottom:14px; }
.actu-card h3 { font-family:'Fraunces',serif; font-size:18px; font-weight:500; margin-bottom:10px; color:var(--ink); line-height:1.35; }
.actu-card p { font-size:14.5px; color:var(--taupe); line-height:1.7; }
@media(max-width:900px) { .actu-grid { grid-template-columns:1fr; } }

.diversif-banner { display:grid; grid-template-columns:280px 1fr; gap:40px; align-items:center; background:var(--ink); border-radius:var(--r); padding:36px 40px; margin-top:48px; border-left:4px solid var(--gold); min-width:0; }
.diversif-text { min-width:0; }
.diversif-visual { background:rgba(250,247,240,.06); border-radius:12px; padding:16px; min-width:0; }
.diversif-visual svg { width:100%; height:auto; display:block; }
.diversif-eyebrow { display:block; font-size:13px; font-weight:600; color:var(--gold-s); margin-bottom:10px; }
.diversif-text h3 { font-family:'Fraunces',serif; font-size:23px; font-weight:500; color:var(--ivory); line-height:1.4; margin-bottom:12px; overflow-wrap:break-word; }
.diversif-text p { color:rgba(250,247,240,.75); font-size:15px; margin-bottom:20px; overflow-wrap:break-word; }
.diversif-disclaimer { font-size:12px; color:rgba(250,247,240,.45); margin-top:16px; margin-bottom:0; line-height:1.6; }
@media(max-width:760px) {
  .diversif-banner { grid-template-columns:1fr; padding:28px 24px; }
  .diversif-visual { max-width:220px; margin:0 auto; }
  .diversif-text .btn { white-space:normal; width:100%; text-align:center; line-height:1.4; }
}
.section-assurances { background:var(--ink); }
.section-rdv { background:var(--ivory); }

/* WHO */
.who-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.who-text h2 { max-width:440px; }
.who-text p { margin-top:16px; }
.who-facts { display:flex; flex-direction:column; gap:0; }
.fact { display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px; padding:22px 0; border-bottom:1px solid rgba(11,13,16,.1); align-items:center; }
.fact:last-child { border-bottom:none; }
.fact-n { font-family:'Fraunces',serif; font-size:32px; color:var(--gold); font-weight:500; }
.fact p { font-size:15px; color:var(--taupe); }
@media(max-width:760px) { .who-grid { grid-template-columns:1fr; gap:36px; } }

/* COMPARE */
.compare { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:1px; background:rgba(250,247,240,.1); margin-top:48px; border:1px solid rgba(250,247,240,.1); }
.compare-col { padding:28px 24px; background:var(--ink); }
.compare-col h3 { font-family:'Inter',sans-serif; font-size:15px; font-weight:700; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid rgba(250,247,240,.12); color:var(--ivory); }
.compare-col ul { list-style:none; display:flex; flex-direction:column; gap:13px; }
.compare-col.dim li { font-size:14.5px; color:rgba(250,247,240,.45); }
.compare-col.gold { background:#111418; }
.compare-col.gold h3 { color:var(--gold-s); border-bottom-color:rgba(184,134,46,.3); }
.compare-col.gold li { font-size:14.5px; color:rgba(250,247,240,.8); }
.compare-col.gold li strong { color:var(--gold-s); }
@media(max-width:760px) { .compare { grid-template-columns:1fr; } }

/* PATRIMOINE */
.patri-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:32px; }
.patri-card { background:var(--ivory); border:1px solid var(--sand2); padding:28px 24px; border-radius:var(--r); transition:box-shadow .25s, transform .25s; }
.patri-card:hover { box-shadow:0 8px 28px rgba(11,13,16,.1); transform:translateY(-4px); }
.patri-icon { font-size:28px; margin-bottom:14px; }
.patri-card h3 { font-size:17px; margin-bottom:8px; color:var(--ink); }
.patri-card p { font-size:14.5px; }
.patri-banner { display:flex; align-items:center; gap:16px; background:var(--ink); color:var(--ivory); padding:20px 28px; border-left:3px solid var(--gold); margin-top:8px; }
.patri-banner span { font-size:22px; flex-shrink:0; }
.patri-banner p { color:rgba(250,247,240,.85); font-size:15px; }
@media(max-width:900px) { .patri-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .patri-grid { grid-template-columns:1fr; } }

/* ASSURANCES */
.assur-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.assur-card { background:rgba(250,247,240,.06); border:1px solid rgba(250,247,240,.1); padding:28px 24px; border-radius:var(--r); transition:border-color .25s; }
.assur-card:hover { border-color:rgba(184,134,46,.5); }
.assur-card.featured { background:rgba(184,134,46,.1); border-color:rgba(184,134,46,.35); }
.assur-icon { font-size:28px; margin-bottom:14px; }
.assur-card h3 { color:var(--ivory); font-size:18px; margin-bottom:10px; }
.assur-card p { color:rgba(250,247,240,.6); font-size:14.5px; }
.assur-highlight { display:inline-block; background:var(--gold); color:var(--white); font-size:13.5px; font-weight:600; padding:5px 14px; border-radius:100px; margin-bottom:12px; }
.assur-highlight strong { color:var(--white); }
@media(max-width:700px) { .assur-grid { grid-template-columns:1fr; } }

/* RDV */
.section-rdv h2 { max-width:600px; }

.rdv-mode { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:36px 0 40px; }
.mode-card { border:2px solid rgba(11,13,16,.12); padding:24px 22px; border-radius:4px; cursor:pointer; position:relative; transition:border-color .2s, background .2s; background:var(--white); }
.mode-card:hover { border-color:var(--gold); }
.mode-card.selected { border-color:var(--gold); background:rgba(184,134,46,.05); }
.mode-icon { font-size:28px; margin-bottom:12px; }
.mode-card h3 { font-size:17px; margin-bottom:4px; color:var(--ink); }
.mode-card p { font-size:14px; color:var(--taupe); }
.mode-detail { font-size:13.5px; margin-top:6px; }
.mode-check { position:absolute; top:16px; right:16px; width:22px; height:22px; border-radius:50%; border:2px solid rgba(11,13,16,.2); transition:all .2s; }
.mode-check.checked { background:var(--gold); border-color:var(--gold); }
.mode-check.checked::after { content:'✓'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:white; font-size:13px; font-weight:700; }
@media(max-width:600px) { .rdv-mode { grid-template-columns:1fr; } }

.rdv-subjects { margin-bottom:40px; }
.subjects-title { font-family:'Inter',sans-serif; font-size:16px; font-weight:600; margin-bottom:18px; color:var(--ink); }
.subjects-title span { font-weight:400; color:var(--taupe); }
.subjects-grid { display:flex; flex-wrap:wrap; gap:10px; }
.subject-chip { cursor:pointer; }
.subject-chip input { display:none; }
.subject-chip span { display:inline-block; padding:10px 18px; border:1.5px solid rgba(11,13,16,.18); border-radius:100px; font-size:14px; font-weight:500; color:var(--taupe); background:var(--white); transition:all .18s; user-select:none; }
.subject-chip input:checked + span { background:var(--ink); color:var(--ivory); border-color:var(--ink); }
.subject-chip:hover span { border-color:var(--ink); color:var(--ink); }

.rdv-form { background:var(--white); border:1px solid rgba(11,13,16,.1); padding:36px; border-radius:4px; margin-bottom:40px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.form-row label, label.full { display:flex; flex-direction:column; gap:6px; font-size:13.5px; font-weight:600; color:var(--taupe); margin-bottom:18px; }
label.full { margin-bottom:0; }
.rdv-form input, .rdv-form textarea { font-family:'Inter',sans-serif; font-size:15px; padding:12px 14px; border:1.5px solid rgba(11,13,16,.15); border-radius:var(--r); background:var(--ivory); color:var(--ink); resize:vertical; }
.rdv-form input:focus, .rdv-form textarea:focus { outline:2px solid var(--gold); outline-offset:1px; border-color:transparent; }
@media(max-width:600px) { .form-row { grid-template-columns:1fr; } }

.rgpd { margin:20px 0 24px; }
.rgpd-check { display:flex; align-items:flex-start; gap:12px; font-size:13px; color:var(--taupe); font-weight:400; cursor:pointer; }
.rgpd-check input { width:17px; height:17px; flex-shrink:0; margin-top:2px; accent-color:var(--gold); cursor:pointer; }
.rgpd-check a { color:var(--gold-d); text-decoration:underline; }

.btn-submit { width:100%; padding:16px; font-size:16px; }
.form-note { margin-top:14px; font-size:13.5px; text-align:center; min-height:18px; color:var(--gold-d); }

.rdv-direct { text-align:center; padding:28px 0; border-top:1px solid rgba(11,13,16,.1); }
.rdv-direct p { font-size:15px; margin-bottom:16px; }
.direct-link { display:inline-block; margin:0 16px; font-size:16px; font-weight:600; color:var(--gold-d); }
.direct-link:hover { color:var(--ink); }

/* FOOTER */
.footer { background:#08090B; padding:48px 0 0; }
.footer-inner { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; padding-bottom:36px; }
.footer .brand { color:var(--ivory); }
.footer .brand-mark { filter:brightness(1.1); }
.footer-inner p { font-size:13.5px; color:rgba(250,247,240,.45); margin-top:8px; line-height:1.55; }
.footer-contact { display:flex; flex-direction:column; gap:10px; }
.footer-contact a { font-size:14.5px; color:rgba(250,247,240,.65); }
.footer-contact a:hover { color:var(--gold-s); }
.footer-legal { border-top:1px solid rgba(250,247,240,.08); padding:24px 0 32px; }
.footer-legal p { font-size:11.5px; color:rgba(250,247,240,.3); line-height:1.65; }

/* === BOUTON PULSANT HERO === */
@keyframes pulse-gold {
  0%   { box-shadow: 0 0 0 0 rgba(184,134,46,0.7); }
  70%  { box-shadow: 0 0 0 12px rgba(184,134,46,0); }
  100% { box-shadow: 0 0 0 0 rgba(184,134,46,0); }
}
.btn-pulse {
  animation: pulse-gold 2s infinite;
  font-size: 16px;
  padding: 16px 32px;
}
.btn-pulse:hover { animation: none; }

/* === LINKEDIN === */
.hero-linkedin { margin-top: 20px; }
.linkedin-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0A66C2;
  color: #fff !important;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  transition: background .2s;
}
.linkedin-btn:hover { background: #004182; }
.linkedin-btn-dark {
  background: #fff;
  color: #0A66C2 !important;
  border: 1.5px solid #0A66C2;
}
.linkedin-btn-dark:hover { background: #EBF3FB; }

.linkedin-direct {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0A66C2 !important;
  font-weight: 600;
}
.linkedin-direct:hover { text-decoration: underline; }

.footer-linkedin {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(250,247,240,.65) !important;
  font-size: 14px;
}
.footer-linkedin:hover { color: #0A66C2 !important; }

/* === VISUELS SECTION CONFIANCE === */
.section-visual {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 32px 0 40px;
  padding: 20px 28px;
  background: rgba(250,247,240,.06);
  border-radius: 6px;
  border: 1px solid rgba(250,247,240,.1);
}
.visual-icon-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 28px;
  flex-shrink: 0;
}
.visual-arrow { font-size: 20px; color: var(--gold-s); }
.highlight-icon { background: var(--gold); border-radius: 50%; padding: 4px; }
.visual-caption { font-size: 14px; color: rgba(250,247,240,.6); font-style: italic; }

/* === VISUELS IMAGE SECTION === */
.section-visual-img {
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 6px;
  margin-bottom: 40px;
  position: relative;
}
.section-visual-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.visual-img-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(11,13,16,.7));
  color: rgba(250,247,240,.9);
  font-size: 13px;
  padding: 24px 20px 12px;
  font-style: italic;
}
.visual-img-caption.light { color: rgba(250,247,240,.8); }

/* === RDV VISUAL BANNER === */
.rdv-visual {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--ink);
  color: var(--ivory);
  padding: 18px 24px;
  border-radius: 6px;
  margin-bottom: 32px;
  border-left: 4px solid var(--gold);
}
.rdv-visual span { font-size: 32px; flex-shrink: 0; }
.rdv-visual strong { display: block; font-size: 16px; margin-bottom: 4px; }
.rdv-visual p { font-size: 14px; color: rgba(250,247,240,.65); margin: 0; }

/* === VISUEL SVG PATRIMOINE === */
.patri-visual-banner {
  background: linear-gradient(135deg, #0F1114 0%, #161A1F 60%, #1A1500 100%);
  border: 1px solid rgba(184,134,46,0.2);
  border-radius: 6px;
  padding: 32px 40px 20px;
  margin-bottom: 40px;
  position: relative;
  overflow: hidden;
}
.patri-visual-banner::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(184,134,46,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.patri-svg {
  width: 100%;
  height: auto;
  display: block;
}
.patri-visual-label {
  text-align: center;
  font-size: 13px;
  font-style: italic;
  color: rgba(250,247,240,0.4);
  margin-top: 8px;
}

/* === AVIS GOOGLE === */
.section-reviews { background: var(--sand); }
.reviews-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 40px;
}
.reviews-score {
  display: flex;
  align-items: center;
  gap: 16px;
}
.score-num {
  font-family: 'Fraunces', serif;
  font-size: 52px;
  color: var(--gold-d);
  font-weight: 500;
  line-height: 1;
}
.score-stars { font-size: 22px; letter-spacing: 2px; }
.score-label { font-size: 13px; color: var(--taupe); margin-top: 2px; }
.google-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--white);
  border: 1px solid rgba(11,13,16,0.12);
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  transition: box-shadow .2s;
}
.google-badge:hover { box-shadow: 0 4px 16px rgba(11,13,16,0.12); }
.google-badge svg { flex-shrink: 0; }

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 32px;
}
.review-card {
  background: var(--white);
  border: 1px solid rgba(11,13,16,0.08);
  padding: 24px;
  border-radius: 4px;
}
.review-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.review-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--ivory);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif;
  font-size: 18px;
  font-weight: 500;
  flex-shrink: 0;
}
.review-name { font-weight: 600; font-size: 15px; }
.review-date { font-size: 12px; color: var(--taupe-l); }
.review-stars { font-size: 14px; letter-spacing: 1px; margin-bottom: 10px; }
.review-text { font-size: 14.5px; color: var(--taupe); line-height: 1.6; font-style: italic; }

.reviews-cta {
  text-align: center;
  padding: 24px;
  background: var(--white);
  border: 1px dashed rgba(11,13,16,0.15);
  border-radius: 4px;
}
.reviews-cta p { margin-bottom: 14px; }

@media(max-width:700px) { .reviews-grid { grid-template-columns: 1fr; } }

/* === FAQ === */
.section-faq { background: var(--ivory); }
.faq-list { max-width: 740px; }
.faq-item {
  border-bottom: 1px solid rgba(11,13,16,0.1);
}
.faq-q {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 20px 0;
  font-family: 'Fraunces', serif;
  font-size: 17px;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.faq-q:hover { color: var(--gold-d); }
.faq-arrow {
  font-size: 20px;
  transition: transform .25s;
  flex-shrink: 0;
  color: var(--gold);
}
.faq-item.open .faq-arrow { transform: rotate(45deg); }
.faq-a {
  display: none;
  padding: 0 0 20px;
  font-size: 15px;
  color: var(--taupe);
  line-height: 1.7;
}
.faq-item.open .faq-a { display: block; }

/* === SUPPRESSION ANCIEN VISUEL IMG === */
.section-visual-img { display: none; }

/* === ADAPTATION SECTION WHO - faits avec emoji === */
.fact .fact-n {
  font-size: 26px;
  line-height: 1.2;
  min-width: 40px;
}
.fact p strong {
  display: block;
  color: var(--ink);
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 4px;
}

/* === FOOTER DDA COMPLIANCE BAND === */
.footer-dda {
  border-top: 1px solid rgba(250,247,240,0.08);
  border-bottom: 1px solid rgba(250,247,240,0.08);
  padding: 20px 0;
  margin: 0;
}
.footer-dda-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.footer-dda-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.footer-dda-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(250,247,240,0.35);
  font-weight: 600;
}
.footer-dda-value {
  font-size: 13.5px;
  color: var(--gold-s) !important;
  font-weight: 500;
  text-decoration: none;
}
.footer-dda-value:hover { color: var(--ivory) !important; }

/* FOOTER LEGAL LINKS */
.footer-legal-links {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(250,247,240,0.08);
}
.footer-legal-links a {
  font-size: 12.5px;
  color: rgba(250,247,240,0.5);
  text-decoration: underline;
}
.footer-legal-links a:hover { color: var(--ivory); }

@media(max-width:760px) {
  .footer-dda-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:480px) {
  .footer-dda-grid { grid-template-columns: 1fr; }
}

/* Photos & simulateur */
.page-photo{display:block;width:100%;max-width:880px;height:auto;margin:28px auto 0;border-radius:var(--r);box-shadow:0 12px 32px rgba(11,13,16,.18)}
.sim-cta{grid-column:1/-1;text-align:center;margin:32px auto 0}.sim-cta p{font-weight:600;margin:0 0 12px}
.sim-panel{background:var(--white);border:1px solid var(--sand2);border-radius:var(--r);padding:22px;margin-top:20px}
.sim-panel label{display:block;font-weight:600;margin:0 0 6px}.sim-panel .hint{display:block;font-weight:400;font-size:13.5px;color:var(--taupe)}
.sim-panel .field{margin-bottom:20px}.sim-panel .field:last-child{margin-bottom:0}
.sim-panel input,.sim-panel select{width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:17px;color:var(--ink);background:var(--ivory);border:1px solid var(--sand2);border-radius:var(--r)}
.sim-panel input:focus-visible,.sim-panel select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.sim-help{margin-top:8px;font-size:14.5px}.sim-help summary{cursor:pointer;color:var(--gold-d);font-weight:600;min-height:32px}
.sim-help p{margin:6px 0 0;padding:10px 12px;background:var(--ivory);border:1px solid var(--sand2)}
.sim-result{margin-top:20px;padding:24px 22px;background:var(--sand);border:1px solid var(--sand2);border-radius:var(--r)}
.sim-result .k{margin:0;font-size:14px;color:var(--taupe)}.sim-big{font-size:clamp(32px,9vw,44px);line-height:1.1;font-weight:700;color:var(--gold-d);margin:6px 0 4px}
.sim-brk{list-style:none;margin:16px 0 0;padding:0}.sim-brk li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--sand2)}
.sim-facts{margin:14px 0 0;font-size:14.5px}.sim-actions{display:grid;gap:10px;margin-top:20px}
.sim-who{display:flex;gap:16px;align-items:center;margin-top:28px}.sim-who img{width:110px;height:110px;object-fit:cover;object-position:center 20%;border-radius:50%}
.sim-note{font-size:13px;color:var(--taupe);margin-top:22px}

.sim-band{background:var(--sand);padding:36px 20px}
.sim-banner{background:var(--ink);color:var(--ivory);border:2px solid var(--gold);border-radius:var(--r);padding:28px 26px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;text-align:left;box-shadow:0 14px 40px rgba(11,13,16,.28)}
.sim-banner>div{flex:1 1 320px}.sim-banner h3{margin:6px 0 8px;font-size:clamp(22px,5vw,30px);line-height:1.2;color:var(--ivory)}
.sim-banner p{margin:0;color:var(--sand2)}.sim-banner .sim-eyebrow{color:var(--gold-s);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sim-banner .btn{font-size:17px;padding:16px 28px;white-space:normal}
.nav-links a.nav-sim{background:var(--gold);color:var(--ink);padding:6px 12px;border-radius:var(--r);font-weight:700}
@media(max-width:640px){.sim-banner .btn{width:100%;text-align:center}}

.sim-warn{margin:14px 0 0;padding:12px 14px;border-left:4px solid var(--gold);background:var(--white);font-size:14.5px;line-height:1.5}

.rdv-steps{list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin:0 auto 26px;padding:0;max-width:860px}
.rdv-steps li{flex:1 1 210px;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid var(--gold);border-radius:var(--r);padding:12px 14px}
.rdv-steps strong{flex:0 0 32px;height:32px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700}
.legal-page .btn{text-decoration:none}
.legal-page .btn-outline{color:var(--ink);border-color:var(--ink)}
.legal-page .btn-outline:hover{background:rgba(11,13,16,.06);border-color:var(--ink)}
.sim-actions .btn{width:100%;white-space:normal;text-align:center}
.legal-page .back-link{text-decoration:none}

@media (min-width:769px){.photo-confiance{max-width:640px}}
