/* ============================================================
   HABITAT PRESTIGE BRETAGNE
   Page partenariat Forma Design × Club Hifi × Ouest-Digit
   Cible : architectes & maîtres d'œuvre
   Ton   : éditorial, sensoriel, minimaliste
   ============================================================ */

:root {
  --noir:   #0a0a0a;
  --encre:  #151634;
  --or:     #f0b429;
  --or-dim: rgba(240,180,41,.45);
  --blanc:  #ffffff;
  --creme:  #faf8f4;
  --gris:   #6b6486;
  --bord:   #e5e0d8;
  --txt:    #2c2845;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans', sans-serif; background:var(--blanc); color:var(--txt); -webkit-font-smoothing:antialiased; }

/* ── HERO (compact, centré, charte OD navy + or, image hero-maison) ── */
.hp-hero {
  position:relative;
  min-height:auto;
  padding:96px 0 88px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#0a0a0a;
}
.hp-hero__bg {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  z-index:0;
  opacity:.35;
}
.hp-hero__gradient {
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(21,22,52,.78) 100%),
    radial-gradient(circle at 20% 30%, rgba(240,180,41,.08), transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(79,83,160,.10), transparent 45%);
  pointer-events:none;
}
.hp-hero__inner {
  position:relative; z-index:2;
  width:100%;
  padding:0 72px;
  max-width:1200px;
  margin:0 auto;
}
.hp-hero__label {
  display:inline-flex; align-items:center; gap:12px;
  font-size:12px; font-weight:800; letter-spacing:3px;
  text-transform:uppercase;
  color:var(--or);
  margin-bottom:32px;
}
.hp-hero__label::before {
  content:''; display:block;
  width:32px; height:2px;
  background:var(--or);
}
.hp-hero__title {
  font-family:'Playfair Display', serif;
  font-size:clamp(40px, 7vw, 88px);
  font-weight:700;
  line-height:1.05;
  color:var(--blanc);
  margin-bottom:40px;
  letter-spacing:-.02em;
}
.hp-hero__title em {
  color:var(--or);
  font-style:normal;
  display:block;
}
.hp-hero__sub {
  font-size:16px;
  color:rgba(255,255,255,.5);
  line-height:1.8;
  max-width:480px;
  margin-bottom:48px;
}
.hp-hero__cta {
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:700; letter-spacing:.5px;
  color:var(--blanc);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:6px;
  transition:all .25s;
}
.hp-hero__cta:hover {
  color:var(--or);
  border-color:var(--or);
}
.hp-hero__cta svg { transition:transform .25s; }
.hp-hero__cta:hover svg { transform:translateX(4px); }
.hp-hero__partners {
  position:absolute; right:72px; bottom:88px; z-index:2;
  display:flex; flex-direction:column; gap:10px; align-items:flex-end;
}
.hp-hero__partner-tag {
  font-size:10px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.35);
  display:flex; align-items:center; gap:8px;
}
.hp-hero__partner-tag::after {
  content:''; display:block;
  width:20px; height:1px;
  background:rgba(255,255,255,.2);
}

/* ── SECTION BASE ── */
.hp-section { padding:100px 0; }
.hp-container { max-width:1200px; margin:0 auto; padding:0 72px; }
.hp-container--sm { max-width:860px; margin:0 auto; padding:0 72px; }

/* ── SECTION BÉNÉFICE (noir) ── */
.hp-benefice { background:var(--noir); padding:100px 0; }
.hp-benefice__intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
  margin-bottom:80px;
}
.hp-benefice__eyebrow {
  font-size:11px; font-weight:800; letter-spacing:3px;
  text-transform:uppercase;
  color:var(--or);
  margin-bottom:24px;
  display:flex; align-items:center; gap:12px;
}
.hp-benefice__eyebrow::before {
  content:''; width:24px; height:2px; background:var(--or);
}
.hp-benefice__title {
  font-family:'Playfair Display', serif;
  font-size:clamp(28px, 4vw, 48px);
  font-weight:700;
  color:var(--blanc);
  line-height:1.1;
}
.hp-benefice__text {
  padding-top:52px;
}
.hp-benefice__text p {
  font-size:16px;
  color:rgba(255,255,255,.55);
  line-height:2;
  margin-bottom:20px;
}
.hp-benefice__text p strong {
  color:rgba(255,255,255,.85);
  font-weight:600;
}
.hp-trois {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.06);
  border-radius:2px;
}
.hp-trois__item {
  padding:40px 36px;
  background:var(--noir);
}
.hp-trois__num {
  font-family:'Playfair Display', serif;
  font-size:12px;
  font-weight:800;
  color:var(--or);
  letter-spacing:2px;
  margin-bottom:20px;
  display:block;
}
.hp-trois__item h3 {
  font-size:18px;
  font-weight:700;
  color:var(--blanc);
  margin-bottom:12px;
  line-height:1.2;
}
.hp-trois__item p {
  font-size:14px;
  color:rgba(255,255,255,.45);
  line-height:1.9;
}
.hp-trois__item em {
  color:var(--or);
  font-style:normal;
  font-size:12px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  display:block;
  margin-bottom:8px;
}

/* ── SECTION UNICITÉ (crème) ── */
.hp-unique { background:var(--creme); }
.hp-unique__grid {
  display:grid;
  grid-template-columns:420px 1fr;
  gap:100px;
  align-items:center;
}
.hp-unique__left h2 {
  font-family:'Playfair Display', serif;
  font-size:clamp(30px,4vw,48px);
  font-weight:700;
  color:var(--encre);
  line-height:1.1;
  margin-bottom:28px;
}
.hp-unique__left p {
  font-size:15px;
  color:var(--gris);
  line-height:1.95;
  margin-bottom:16px;
}
.hp-unique__stat {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  margin-top:48px;
}
.hp-unique__stat-item {
  background:var(--encre);
  padding:28px 24px;
}
.hp-unique__stat-item:first-child { border-radius:12px 0 0 12px; }
.hp-unique__stat-item:last-child { border-radius:0 12px 12px 0; }
.hp-unique__stat-val {
  font-family:'Playfair Display', serif;
  font-size:36px;
  font-weight:700;
  color:var(--or);
  line-height:1;
  display:block;
  margin-bottom:6px;
}
.hp-unique__stat-label {
  font-size:12px;
  color:rgba(255,255,255,.5);
  line-height:1.5;
}
.hp-unique__right {
  display:flex;
  flex-direction:column;
  gap:2px;
}
.hp-unique__point {
  display:flex;
  gap:20px;
  align-items:flex-start;
  padding:28px 24px;
  background:var(--blanc);
  border:1px solid var(--bord);
  transition:all .2s;
}
.hp-unique__point:first-child { border-radius:12px 12px 0 0; }
.hp-unique__point:last-child { border-radius:0 0 12px 12px; }
.hp-unique__point:hover { border-color:var(--or); background:var(--blanc); }
.hp-unique__point-icon {
  width:40px; height:40px; flex-shrink:0;
  background:rgba(240,180,41,.1);
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:var(--or); font-size:18px;
}
.hp-unique__point h4 {
  font-size:15px; font-weight:700;
  color:var(--encre); margin-bottom:4px;
}
.hp-unique__point p {
  font-size:13px;
  color:var(--gris);
  line-height:1.75;
}

/* ── SECTION EXPERTISES (blanc) ── */
.hp-expertises { background:var(--blanc); }
.hp-expertises__header {
  text-align:center;
  margin-bottom:72px;
}
.hp-expertises__eyebrow {
  font-size:10px; font-weight:700; letter-spacing:3px;
  text-transform:uppercase; color:var(--or);
  display:flex; align-items:center; gap:10px;
  justify-content:center; margin-bottom:16px;
}
.hp-expertises__header h2 {
  font-family:'Playfair Display', serif;
  font-size:clamp(28px,4vw,44px);
  font-weight:700;
  color:var(--encre);
  margin-bottom:16px;
}
.hp-expertises__header p {
  font-size:16px; color:var(--gris);
  max-width:560px; margin:0 auto; line-height:1.8;
}
.hp-exp-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border:1px solid var(--bord);
  border-radius:16px;
  overflow:hidden;
}
.hp-exp-card {
  padding:48px 40px;
  border-right:1px solid var(--bord);
  transition:background .2s;
}
.hp-exp-card:last-child { border-right:none; }
.hp-exp-card:hover { background:var(--creme); }
.hp-exp-card__tag {
  font-size:10px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase;
  color:var(--or);
  margin-bottom:20px;
  display:block;
}
.hp-exp-card h3 {
  font-family:'Playfair Display', serif;
  font-size:22px; font-weight:700;
  color:var(--encre);
  margin-bottom:16px;
  line-height:1.2;
}
.hp-exp-card p {
  font-size:14px; color:var(--gris);
  line-height:1.9; margin-bottom:24px;
}
.hp-exp-card__list {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hp-exp-card__list li {
  font-size:13px; color:var(--gris);
  display:flex; align-items:center; gap:8px;
}
.hp-exp-card__list li::before {
  content:'';
  display:inline-block;
  width:4px; height:4px;
  border-radius:50%;
  background:var(--or);
  flex-shrink:0;
}
.hp-exp-card__name {
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid var(--bord);
  font-size:12px; font-weight:700;
  color:var(--encre); letter-spacing:.5px;
}
.hp-exp-card__name span {
  display:block;
  font-size:11px; font-weight:400;
  color:var(--gris); margin-top:2px;
}

/* ── SECTION PROJET À VENIR (encre) ── */
.hp-projet { background:var(--encre); padding:80px 0; }
.hp-projet__inner {
  display:flex;
  align-items:center;
  gap:60px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:56px 64px;
  position:relative;
  overflow:hidden;
}
.hp-projet__inner::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 80% at 90% 50%, rgba(240,180,41,.05) 0%, transparent 70%);
}
.hp-projet__badge {
  flex-shrink:0;
  width:80px; height:80px;
  border-radius:50%;
  background:rgba(240,180,41,.1);
  border:1px solid rgba(240,180,41,.25);
  display:flex; align-items:center; justify-content:center;
  font-size:32px;
}
.hp-projet__text { position:relative; z-index:1; }
.hp-projet__text h3 {
  font-family:'Playfair Display', serif;
  font-size:24px; font-weight:700;
  color:var(--blanc);
  margin-bottom:10px;
}
.hp-projet__text p {
  font-size:14px;
  color:rgba(255,255,255,.45);
  line-height:1.85;
  max-width:600px;
}
.hp-projet__soon {
  flex-shrink:0;
  font-size:11px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  color:var(--or-dim);
  border:1px solid rgba(240,180,41,.2);
  border-radius:50px;
  padding:8px 20px;
}

/* ── SECTION MÉTHODE (crème) ── */
.hp-methode { background:var(--creme); }
.hp-methode__header {
  text-align:center; margin-bottom:72px;
}
.hp-methode__header h2 {
  font-family:'Playfair Display', serif;
  font-size:clamp(28px,4vw,44px);
  font-weight:700; color:var(--encre);
}
.hp-methode__steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border:1px solid var(--bord);
  border-radius:16px;
  overflow:hidden;
}
.hp-methode__step {
  padding:40px 32px;
  border-right:1px solid var(--bord);
  background:var(--blanc);
  transition:background .2s;
}
.hp-methode__step:last-child { border-right:none; }
.hp-methode__step:hover { background:var(--creme); }
.hp-methode__step-num {
  font-family:'Playfair Display', serif;
  font-size:48px; font-weight:700;
  color:rgba(240,180,41,.15);
  line-height:1;
  margin-bottom:16px;
  display:block;
}
.hp-methode__step h3 {
  font-size:15px; font-weight:700;
  color:var(--encre); margin-bottom:10px;
}
.hp-methode__step p {
  font-size:13px; color:var(--gris);
  line-height:1.85;
}

/* ── CTA FINAL (noir) ── */
.hp-cta {
  background:var(--noir);
  padding:120px 0;
  text-align:center;
}
.hp-cta__eyebrow {
  font-size:10px; font-weight:700; letter-spacing:3px;
  text-transform:uppercase;
  color:var(--or-dim);
  display:flex; align-items:center; gap:12px;
  justify-content:center; margin-bottom:28px;
}
.hp-cta__eyebrow::before, .hp-cta__eyebrow::after {
  content:''; flex:1; max-width:60px;
  height:1px; background:var(--or-dim);
}
.hp-cta h2 {
  font-family:'Playfair Display', serif;
  font-size:clamp(32px,5vw,60px);
  font-weight:700;
  color:var(--blanc);
  margin-bottom:16px;
  line-height:1.1;
}
.hp-cta h2 em {
  color:var(--or); font-style:italic;
}
.hp-cta__sub {
  font-size:16px;
  color:rgba(255,255,255,.45);
  max-width:460px;
  margin:0 auto 48px;
  line-height:1.8;
}
.hp-cta__btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--or);
  color:var(--encre);
  font-size:14px; font-weight:800;
  padding:16px 40px;
  border-radius:50px;
  text-decoration:none;
  transition:all .22s;
  box-shadow:0 4px 24px rgba(240,180,41,.25);
}
.hp-cta__btn:hover {
  background:#c9911c;
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(240,180,41,.35);
}
.hp-cta__meta {
  margin-top:28px;
  font-size:12px;
  color:rgba(255,255,255,.25);
  display:flex; gap:24px;
  justify-content:center; flex-wrap:wrap;
}
.hp-cta__meta a { color:rgba(255,255,255,.35); text-decoration:none; }
.hp-cta__meta a:hover { color:var(--or-dim); }

/* ── IMAGE PARTENARIAT (image entière, sans crop, au-dessus de L'équipe) ── */
.hp-image-full {
  width:100%;
  background:var(--blanc);
  padding:64px 28px;
  display:flex;
  justify-content:center;
}
.hp-image-full__img {
  display:block;
  max-width:1100px;
  width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:800px) {
  .hp-image-full { padding:40px 16px; }
}

/* ── MOBILE STICKY ── */
.od-mobile-cta { display:none; }

/* ── RESPONSIVE ── */
@media(max-width:1100px) {
  .hp-container, .hp-container--sm { padding:0 40px; }
  .hp-hero { padding:80px 0 72px; }
  .hp-hero__inner { padding:0 40px; }
  .hp-hero__partners { right:40px; bottom:32px; }
  .hp-benefice__intro { grid-template-columns:1fr; gap:40px; }
  .hp-unique__grid { grid-template-columns:1fr; gap:48px; }
  .hp-methode__steps { grid-template-columns:1fr 1fr; }
  .hp-methode__step:nth-child(2) { border-right:none; }
  .hp-methode__step:nth-child(1),
  .hp-methode__step:nth-child(2) { border-bottom:1px solid var(--bord); }
}
@media(max-width:800px) {
  .hp-hero { min-height:auto; padding:64px 0 56px; }
  .hp-hero__inner { padding:0 24px; }
  .hp-hero__partners { display:none; }
  .hp-trois { grid-template-columns:1fr; }
  .hp-exp-grid { grid-template-columns:1fr; }
  .hp-exp-card { border-right:none; border-bottom:1px solid var(--bord); }
  .hp-exp-card:last-child { border-bottom:none; }
  .hp-unique__stat { grid-template-columns:1fr 1fr; }
  .hp-projet__inner { flex-direction:column; padding:40px 28px; gap:24px; }
  .hp-methode__steps { grid-template-columns:1fr; border-radius:16px; }
  .hp-methode__step { border-right:none !important; border-bottom:1px solid var(--bord); }
  .hp-methode__step:last-child { border-bottom:none; }
  .hp-container, .hp-container--sm { padding:0 20px; }
  .od-mobile-cta { display:block; }
}

/* ═══════════════════════════════════════════════════════════════════
   LEAD MAGNET — Guide architecte
   ═══════════════════════════════════════════════════════════════════ */
.hp-lead {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%);
  color: #fff;
  padding: 96px 28px;
  position: relative;
  overflow: hidden;
}
.hp-lead::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 460px; height: 460px;
  background: radial-gradient(circle, rgba(240,180,41,.13) 0%, transparent 65%);
  pointer-events: none;
}
.hp-lead__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 72px;
  align-items: start;
  position: relative;
  z-index: 2;
}

/* ── Gauche : pitch ── */
.hp-lead__left { padding-top: 8px; }
.hp-lead__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--or);
  background: rgba(240,180,41,.12);
  border: 1px solid rgba(240,180,41,.32);
  padding: 7px 14px;
  border-radius: 100px;
  margin-bottom: 22px;
}
.hp-lead__title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 700;
  line-height: 1.18;
  margin: 0 0 18px;
  color: #fff;
}
.hp-lead__title em {
  font-style: italic;
  background: linear-gradient(180deg, transparent 60%, rgba(240,180,41,.40) 60%);
  padding: 0 4px;
}
.hp-lead__sub {
  font-size: 16.5px;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
  margin: 0 0 30px;
}
.hp-lead__benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  gap: 14px;
}
.hp-lead__benefits li {
  position: relative;
  padding-left: 32px;
  font-size: 14.5px;
  color: rgba(255,255,255,.85);
  line-height: 1.55;
}
.hp-lead__benefits li::before {
  content: '';
  position: absolute;
  top: 4px; left: 0;
  width: 20px; height: 20px;
  background: var(--or);
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151634' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-repeat: no-repeat;
  background-size: 13px;
  background-position: center;
}
.hp-lead__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.hp-lead__trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  padding: 7px 13px;
  border-radius: 100px;
}
.hp-lead__trust svg { color: var(--or); }

/* ── Droite : formulaire ── */
.hp-lead__form {
  background: #fff;
  color: #151634;
  border-radius: 10px;
  padding: 38px 36px 32px;
  box-shadow: 0 30px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(240,180,41,.22);
  position: relative;
}
.hp-lead__form-head {
  text-align: left;
  margin-bottom: 26px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ece6d4;
}
.hp-lead__form-head h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
  color: #0a0a0a;
}
.hp-lead__form-head p {
  font-size: 13.5px;
  color: #6a6a6a;
  margin: 0;
  line-height: 1.5;
}
.hp-lead__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.hp-lead__field { margin-bottom: 14px; }
.hp-lead__label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #151634;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.hp-lead__label span {
  color: #dc2626;
  margin-left: 2px;
}
.hp-lead__input {
  width: 100%;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: #151634;
  background: #fafaf7;
  border: 1.5px solid #e5e0d8;
  border-radius: 7px;
  padding: 12px 14px;
  box-sizing: border-box;
  transition: border-color .18s, background .18s, box-shadow .18s;
}
.hp-lead__input:focus {
  outline: none;
  background: #fff;
  border-color: var(--or);
  box-shadow: 0 0 0 3px rgba(240,180,41,.22);
}
.hp-lead__input::placeholder { color: #a8a8a8; }
.hp-lead__rgpd {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0 22px;
  padding: 14px 16px;
  background: #fafaf7;
  border: 1px solid #ece6d4;
  border-radius: 7px;
}
.hp-lead__rgpd input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 2px;
  width: 16px; height: 16px;
  accent-color: var(--or);
  cursor: pointer;
}
.hp-lead__rgpd label {
  font-size: 12.5px;
  color: #5a5a5a;
  line-height: 1.55;
  cursor: pointer;
}
.hp-lead__rgpd a {
  color: #151634;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hp-lead__submit {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(180deg, var(--or) 0%, #e0a51a 100%);
  color: #0a0a0a;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: none;
  border-radius: 7px;
  padding: 15px 24px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(240,180,41,.30);
  transition: transform .15s, box-shadow .15s, opacity .15s;
}
.hp-lead__submit:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(240,180,41,.42);
}
.hp-lead__submit:active:not(:disabled) { transform: translateY(0); }
.hp-lead__submit:disabled {
  opacity: 0.65;
  cursor: wait;
}

/* ── État succès ── */
.hp-lead__success {
  background: #fff;
  border-radius: 10px;
  padding: 56px 36px 48px;
  text-align: center;
  box-shadow: 0 30px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(34,197,94,.30);
}
.hp-lead__success-icon {
  width: 64px; height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #ecfdf5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #16a34a;
}
.hp-lead__success-icon svg { width: 32px; height: 32px; }
.hp-lead__success h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  color: #0a0a0a;
  margin: 0 0 10px;
}
.hp-lead__success p {
  font-size: 15px;
  color: #5a5a5a;
  line-height: 1.65;
  margin: 0;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}

/* ── État erreur (banner) ── */
.hp-lead__error {
  margin: 0 0 18px;
  padding: 12px 14px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 7px;
  color: #b91c1c;
  font-size: 13.5px;
  line-height: 1.5;
  display: none;
}
.hp-lead__error.is-visible { display: block; }
.hp-lead__input.is-invalid { border-color: #dc2626; background: #fff5f5; }

@media (max-width: 920px) {
  .hp-lead { padding: 64px 22px; }
  .hp-lead__inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .hp-lead__form { padding: 28px 24px 24px; }
  .hp-lead__row { grid-template-columns: 1fr; gap: 0; }
}

