/* Accueil : l'accueil existant (memes sections, meme ordre) avec la finition de la proposition v3.
   Tout est limite a .home-v4 et aux classes h4-. Couleurs : jetons de design-system/src/theme.css. */

.home-v4 {
  --h4-orange: var(--color-orange, #EC7B35);
  --h4-orange-fonce: #B4531A;
  --h4-orange-clair: var(--color-orange-clair, #FBEFE7);
  --h4-noir: var(--color-noir, #2A2A2A);
  --h4-encre: #1F2021;
  --h4-texte: #55595C;
  --h4-ligne: #E6E4E0;
  --h4-fond: #F7F5F2;
  --h4-rayon: 7px;
  --h4-ombre: 0 1px 2px rgba(31, 32, 33, .05), 0 8px 24px rgba(31, 32, 33, .06);
  font-family: var(--font-sans, "Hanken Grotesk", system-ui, sans-serif);
  color: var(--h4-encre);
  font-size: 17px;
  line-height: 1.55;
}
.home-v4 *, .home-v4 *::before, .home-v4 *::after { box-sizing: border-box; }
.home-v4 h1, .home-v4 h2, .home-v4 h3, .home-v4 p, .home-v4 ul, .home-v4 figure, .home-v4 blockquote { margin: 0; padding: 0; }
.home-v4 ul { list-style: none; }
.home-v4 img { max-width: 100%; height: auto; display: block; }
.home-v4 a { color: inherit; text-decoration: none; }
.home-v4 h1, .home-v4 h2, .home-v4 h3 { font-family: inherit; color: var(--h4-encre); font-weight: 700; letter-spacing: -.035em; line-height: 1.12; text-transform: none; }
.home-v4 h2 { font-size: clamp(28px, 2.6vw, 38px); }
.home-v4 h2 span, .home-v4 h1 span { color: var(--h4-orange); }
.home-v4 h3 { font-size: 20px; letter-spacing: -.02em; }
.home-v4 p { color: var(--h4-texte); }
.home-v4 a:focus-visible, .home-v4 button:focus-visible { outline: 3px solid var(--h4-encre); outline-offset: 4px; border-radius: 4px; }
.h4-symbols:not(#h4) { position: absolute; width: 0; height: 0; overflow: hidden; }
/* aspect-ratio : l'ancien svg:not(#if){height:auto} ecrase la hauteur */
.h4-icon { width: 20px; height: 20px; aspect-ratio: 1; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.h4-container { width: var(--ih-largeur, min(1360px, calc(100% - 48px))); margin-inline: auto; }
.h4-section { padding-block: 60px; }
.home-v4 section[id] { scroll-margin-top: 120px; }

/* Boutons et liens */
.home-v4 .h4-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 14px 24px; border: 1px solid var(--h4-orange); border-radius: 4px; background: var(--h4-orange); color: var(--if-sur-orange, #fff); font-size: 16px; font-weight: 700; line-height: 1.2; text-align: center; transition: background .18s, border-color .18s, transform .18s; cursor: pointer; }
.home-v4 .h4-btn:hover { background: var(--if-orange-survol, #CF5F1C); border-color: var(--if-orange-survol, #CF5F1C); transform: translateY(-1px); color: var(--if-sur-orange, #fff); }
.home-v4 .h4-btn-blanc { background: #fff; border-color: #BDBEBD; font-weight: 600; color: var(--h4-encre); }
.home-v4 .h4-btn-blanc:hover { background: #fff; border-color: var(--h4-encre); color: var(--h4-encre); }
.home-v4 .h4-lien { display: inline-flex; align-items: center; gap: 8px; color: var(--h4-orange-fonce); font-weight: 700; font-size: 16px; }
.home-v4 .h4-lien .h4-icon { transition: transform .18s; }
.home-v4 .h4-lien:hover { text-decoration: underline; text-underline-offset: 5px; }
.home-v4 .h4-lien:hover .h4-icon, .home-v4 a:hover > .h4-lien .h4-icon { transform: translateX(3px); }
.home-v4 .h4-carte { background: #fff; border: 1px solid var(--h4-ligne); border-radius: var(--h4-rayon); box-shadow: var(--h4-ombre); }

/* 1. Bandeau */
/* Photo calee en haut : le ciel occupe le haut de l'image, les trois visages restent entiers a toutes les largeurs. */
.h4-hero { position: relative; padding: 72px 0 0; background: #F4EEE7 url(/img/accueil/bg-home.webp) right top / cover no-repeat; }
.h4-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.86) 38%, rgba(255,255,255,0) 64%); }
.h4-hero > * { position: relative; }
.h4-hero-inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; min-height: 420px; }
.h4-hero-copy { max-width: 640px; padding-bottom: 48px; }
.home-v4 .h4-eyebrow { font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--h4-orange); margin-bottom: 18px; }
.h4-hero h1 { font-size: clamp(42px, 5vw, 70px); line-height: 1.02; letter-spacing: -.045em; }
.home-v4 .h4-lead { font-size: clamp(19px, 1.6vw, 23px); line-height: 1.45; color: #3E4245; max-width: 520px; margin-top: 22px; }
.h4-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.home-v4 .h4-label { display: inline-flex; align-items: center; gap: 14px; margin-top: 28px; padding: 8px 18px 8px 8px; background: rgba(255,255,255,.92); border: 1px solid var(--h4-ligne); border-radius: 7px; box-shadow: var(--h4-ombre); max-width: 520px; transition: border-color .18s; }
.home-v4 .h4-label:hover { border-color: var(--h4-orange); }
.home-v4 .h4-label img { width: 60px; height: 60px; flex-shrink: 0; }
.h4-label span { font-size: 14px; line-height: 1.35; color: var(--h4-texte); }
.h4-label strong { display: block; font-size: 15px; color: var(--h4-encre); }
.home-v4 .h4-hero-photo { display: none; }
.h4-produits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 1060px; transform: translateY(50%); margin-top: -8px; }
.h4-produits a { display: flex; align-items: center; gap: 14px; padding: 18px 18px; background: #fff; border: 1px solid var(--h4-ligne); border-bottom: 3px solid var(--h4-orange); border-radius: 7px; box-shadow: var(--h4-ombre); font-weight: 700; font-size: 16px; line-height: 1.25; transition: transform .18s, box-shadow .18s; }
.h4-produits a:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(31,32,33,.12); }
.h4-produits a > span:nth-child(2) { flex: 1; }
.h4-produits a > .h4-icon { color: var(--h4-orange); width: 18px; }
.h4-losange { position: relative; width: 52px; height: 52px; flex-shrink: 0; display: grid; place-items: center; }
.h4-losange::before { content: ""; position: absolute; inset: 7px; background: var(--h4-orange); border-radius: 7px; transform: rotate(45deg); transition: transform .25s; }
.h4-produits a:hover .h4-losange::before { transform: rotate(135deg); }
.h4-losange img { position: relative; width: 30px; height: 30px; }

/* 2. Presentation */
.h4-intro { display: grid; grid-template-columns: 5fr 7fr; margin-top: 110px; border-radius: var(--h4-rayon); overflow: hidden; box-shadow: var(--h4-ombre); border: 1px solid var(--h4-ligne); }
.h4-intro-sombre { background: var(--h4-noir); padding: 48px 44px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.home-v4 .h4-intro-sombre h2 { color: #fff; font-size: clamp(32px, 3vw, 42px); }
.home-v4 .h4-intro-sombre p { color: #E9E9E7; font-size: 22px; line-height: 1.35; }
.home-v4 .h4-intro-sombre p strong { color: var(--h4-orange); font-weight: 600; }
.home-v4 .h4-btn-contrat { margin-top: 12px; background: #fff; border-color: #fff; color: var(--h4-encre); gap: 12px; padding-left: 14px; }
.home-v4 .h4-btn-contrat img { width: 30px; height: 30px; padding: 5px; background: var(--h4-orange); border-radius: 4px; }
.home-v4 .h4-btn-contrat:hover { background: #F3F3F1; border-color: #F3F3F1; color: var(--h4-encre); }
.h4-intro-texte { background: #fff; padding: 44px 48px; display: flex; flex-direction: column; gap: 20px; }
.h4-intro-texte > p { font-size: 16px; }
.home-v4 .h4-intro-texte span[data-bs-toggle] { cursor: text; }
.h4-chiffres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--h4-ligne); }
.h4-chiffres li { display: flex; flex-direction: column; gap: 4px; }
.h4-chiffres strong { font-size: 40px; line-height: 1; font-weight: 700; letter-spacing: -.04em; color: var(--h4-orange); }
.h4-chiffres span { font-size: 15px; color: var(--h4-texte); line-height: 1.35; }
.home-v4 .h4-recrute { color: var(--h4-encre); font-weight: 500; }
.home-v4 .h4-recrute .h4-lien { margin-left: 4px; }

/* 3. Courtiers connectes */
.h4-courtiers-grille { display: grid; grid-template-columns: 5fr 7fr; gap: 56px; align-items: center; }
.h4-courtiers-intro { display: grid; grid-template-columns: 1fr; gap: 16px; }
.h4-courtiers-intro img { width: min(300px, 70%); margin-top: 16px; }
.h4-courtiers-liste { display: grid; gap: 18px; }
.h4-courtier { display: grid; grid-template-columns: 132px 1fr; gap: 22px; padding: 16px; align-items: start; }
.h4-courtier > img:not(#h4) { width: 132px; height: 164px; object-fit: cover; object-position: center top; border-radius: 7px; background: var(--h4-fond); }
.h4-courtier-corps { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding-top: 4px; }
.home-v4 .h4-surtitre { font-size: 13px; color: var(--h4-texte); }
.home-v4 .h4-courtier h3 { overflow-wrap: anywhere; }
.home-v4 .h4-puces { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--h4-encre); }
.h4-puces span { display: inline-flex; align-items: center; gap: 6px; }
.h4-puces .h4-icon { width: 17px; height: 17px; color: var(--h4-orange); }
.home-v4 blockquote { font-size: 14.5px; line-height: 1.5; color: var(--h4-texte); font-style: italic; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.h4-courtier .h4-lien { font-size: 15px; margin-top: 2px; }

/* 4. Reseau + Triple A */
.h4-reseau { display: grid; grid-template-columns: 8fr 4fr; border-radius: var(--h4-rayon); overflow: hidden; border: 1px solid var(--h4-ligne); box-shadow: var(--h4-ombre); }
.h4-reseau-carte { background: var(--h4-fond); padding: 48px; }
.home-v4 .h4-sous-titre { margin-top: 10px; }
.h4-reseau-grille { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px; align-items: center; margin-top: 32px; }
.h4-map svg { width: 100%; height: auto; }
.h4-map svg path { transition: fill .2s; }
.h4-regions { display: grid; grid-template-columns: 1fr; gap: 0; }
.h4-regions a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border-bottom: 1px solid var(--h4-ligne); font-size: 15px; font-weight: 500; transition: background .15s, color .15s, padding .15s; }
.h4-regions a::after { content: ""; width: 7px; height: 7px; border-top: 2px solid var(--h4-orange); border-right: 2px solid var(--h4-orange); transform: rotate(45deg); flex-shrink: 0; }
.h4-regions a:hover { background: #fff; color: var(--h4-orange-fonce); padding-left: 16px; }
.h4-triple-a { position: relative; padding: 48px 36px; background: #3A3A38 url(/img/accueil/bg-triple-a.webp) center / cover no-repeat; display: flex; flex-direction: column; justify-content: center; gap: 22px; }
.h4-triple-a::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(34,34,33,.72), rgba(34,34,33,.9)); }
.h4-triple-a > * { position: relative; }
.home-v4 .h4-triple-a h2 { color: #fff; font-size: 28px; }
.h4-triple-a ul { display: grid; gap: 14px; }
.h4-triple-a li { display: flex; gap: 16px; align-items: flex-start; padding: 16px; background: rgba(255,255,255,.96); border-radius: 7px; }
.h4-triple-a b { width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center; background: var(--h4-orange); color: #fff; font-size: 28px; font-weight: 700; border-radius: 4px; line-height: 1; }
.home-v4 .h4-triple-a h3 { color: var(--h4-orange); font-size: 18px; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 2px; }
.home-v4 .h4-triple-a li p { color: var(--h4-encre); font-size: 15px; line-height: 1.4; font-weight: 500; }
.home-v4 .h4-lien-blanc { color: #fff; }

/* 5. Simulateurs + derniers credits */
.h4-simu-credits { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: stretch; }
.h4-simulateurs { display: flex; flex-direction: column; gap: 24px; }
.h4-simulateurs ul { display: grid; gap: 10px; }
.h4-simulateurs li a { display: flex; align-items: center; gap: 18px; padding: 16px 18px; border: 1px solid var(--h4-ligne); border-radius: 7px; background: #fff; transition: border-color .18s, background .18s; }
.h4-simulateurs li a:hover { border-color: #DC9A70; background: #FFFCF8; }
.h4-simulateurs li img { width: 36px; height: 36px; }
.h4-simulateurs li span { flex: 1; font-size: 14.5px; color: var(--h4-texte); line-height: 1.4; }
.h4-simulateurs li b { display: block; font-size: 17px; color: var(--h4-encre); margin-bottom: 2px; }
.h4-simulateurs li .h4-icon { color: var(--h4-orange); width: 18px; }
/* la conseillere a un fond blanc : elle reste hors du bloc rose, comme sur l'ancien accueil */
.h4-credits { position: relative; display: grid; grid-template-columns: 150px 1fr; align-items: end; }
.h4-femme-ok { width: 150px; }
.h4-credits-corps { align-self: stretch; padding: 40px 32px 32px; min-width: 0; display: flex; flex-direction: column; gap: 22px; background: var(--h4-orange-clair); border-radius: var(--h4-rayon); }
.h4-carrousel { min-width: 0; }
.h4-credit { background: #fff; border-radius: 7px; padding: 22px; border: 1px solid #F0DCCD; display: flex; flex-direction: column; gap: 14px; }
.home-v4 .h4-credit-objet { font-size: 15px; font-weight: 600; color: var(--h4-encre); line-height: 1.35; min-height: 40px; }
.h4-credit-objet span { display: block; font-size: 13px; font-weight: 400; color: var(--h4-texte); }
.home-v4 .h4-credit-montant { font-size: 30px; font-weight: 700; letter-spacing: -.035em; color: var(--h4-encre); line-height: 1; white-space: nowrap; }
.h4-credit ul { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--h4-ligne); font-size: 15px; }
.h4-credit li { display: flex; align-items: center; gap: 10px; }
.h4-credit li .h4-icon { width: 18px; height: 18px; color: var(--h4-orange); }
.home-v4 .h4-credit .h4-btn { width: 100%; min-height: 46px; padding: 11px 14px; white-space: nowrap; }
.home-v4 .h4-mention { font-size: 12.5px; line-height: 1.5; }
.home-v4 .h4-carrousel .owl-nav { display: flex; gap: 8px; justify-content: flex-end; margin-top: 14px; }
.home-v4 .h4-carrousel .owl-nav button.owl-prev, .home-v4 .h4-carrousel .owl-nav button.owl-next { width: 38px; height: 38px; border-radius: 50%; background: #fff; border: 1px solid #E8CDB9; display: grid; place-items: center; margin: 0; color: var(--h4-encre); font-size: 18px; }
.home-v4 .h4-carrousel .owl-nav button:hover { border-color: var(--h4-orange); background: #fff; color: var(--h4-orange-fonce); }
.home-v4 .h4-carrousel .owl-dots { text-align: left; margin-top: 16px; }
/* le site dessine la puce sur le bouton .owl-dot (pas sur le span) */
.home-v4 .h4-carrousel .owl-dots .owl-dot:not(#h4) { width: 8px; height: 8px; margin: 4px; border-radius: 7px; background: #E3C7B2; transition: width .2s, background .2s; }
.home-v4 .h4-carrousel .owl-dots .owl-dot.active:not(#h4) { background: var(--h4-orange); width: 22px; }
.home-v4 .h4-carrousel .owl-dots .owl-dot span { display: none; }

/* 6. Avis */
.h4-avis { background: linear-gradient(90deg, var(--h4-noir) 0, var(--h4-noir) 50%, #fff 50%); }
.h4-avis-grille { display: grid; grid-template-columns: 4fr 8fr; }
.h4-avis-donner { background: var(--h4-noir); padding: 80px 48px 80px 0; display: flex; flex-direction: column; gap: 22px; }
.h4-avis-titre { display: flex; align-items: center; gap: 18px; font-size: 26px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2; color: #fff !important; }
.h4-avis-titre b { color: var(--h4-orange); }
.h4-avis-crayon { width: 68px; height: 68px; flex-shrink: 0; display: grid; place-items: center; background: var(--h4-orange); border-radius: 50%; }
.h4-avis-crayon img { width: 40px; height: 40px; }
.home-v4 .h4-avis-donner p { color: #D5D5D2; font-size: 16px; }
.home-v4 .h4-avis-donner h3 { color: #fff; font-size: 19px; margin-top: 6px; }
.h4-avis-donner h3 span { color: var(--h4-orange); }
.h4-plateformes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.h4-plateformes a { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 8px; background: #fff; border-radius: 7px; font-size: 14px; font-weight: 600; color: var(--h4-encre); transition: transform .18s, box-shadow .18s; }
.h4-plateformes a:hover { transform: translateY(-2px); box-shadow: 0 0 0 3px var(--h4-orange); }
.h4-avis-clients { background: #fff; padding: 80px 0 80px 56px; display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.h4-avis-entete { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.h4-avis-entete > div { display: flex; flex-direction: column; gap: 10px; }
.h4-avis-entete img { width: 210px; flex-shrink: 0; }
.h4-note { display: flex; align-items: center; gap: 8px; }
.h4-note strong { font-size: 44px; line-height: 1; letter-spacing: -.04em; color: var(--h4-encre); }
.h4-note > span:nth-child(2) { font-size: 18px; color: var(--h4-texte); margin-right: 8px; }
.h4-etoiles { display: inline-flex; gap: 2px; color: var(--h4-orange); }
.h4-etoiles .h4-icon { width: 20px; height: 20px; fill: currentColor; stroke-width: 1.2; }
.h4-etoiles .h4-etoile-vide { fill: none; color: #D8CFC7; }
.h4-etoiles .h4-etoile-partielle { fill: url(#h4-demi); }
.h4-avis-liste { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.h4-avis-carte { padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.h4-avis-haut { display: flex; gap: 14px; align-items: center; }
.h4-avis-haut img:not(#h4) { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.home-v4 .h4-avis-nom { font-weight: 700; color: var(--h4-encre); font-size: 16px; }
.home-v4 .h4-avis-note { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 13px; }
.h4-avis-note .h4-etoiles .h4-icon { width: 16px; height: 16px; }
.h4-avis-note > span:last-child { display: inline-flex; align-items: center; gap: 5px; }
.h4-avis-note > span:last-child .h4-icon { width: 15px; height: 15px; }
.h4-avis-carte blockquote { -webkit-line-clamp: 5; font-size: 15px; }

/* 7. Contact + actualites */
.h4-contact-actus { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: start; }
.h4-raccourcis { display: grid; gap: 16px; }
.h4-raccourcis a { position: relative; display: flex; align-items: flex-end; min-height: 138px; padding: 16px; border-radius: 7px; overflow: hidden; background-size: cover; background-position: center; box-shadow: var(--h4-ombre); }
.h4-raccourcis a::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(20,20,20,.78)); transition: background .2s; }
.h4-raccourcis a:hover::before { background: linear-gradient(180deg, rgba(0,0,0,.05) 10%, rgba(20,20,20,.86)); }
.h4-raccourcis span { position: relative; display: inline-flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; font-size: 17px; line-height: 1.25; }
.h4-raccourcis span .h4-icon { width: 34px; height: 34px; padding: 7px; background: var(--h4-orange); color: var(--if-sur-orange, #fff); border-radius: 4px; }
.h4-actus { display: flex; flex-direction: column; gap: 22px; }
.h4-actus ul { display: grid; gap: 12px; }
.h4-actus li a { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border: 1px solid var(--h4-ligne); border-radius: 7px; transition: border-color .18s, background .18s; }
.h4-actus li a:hover { border-color: #DC9A70; background: #FFFCF8; }
.h4-actus li .h4-icon { width: 24px; height: 24px; color: var(--h4-orange); margin-top: 2px; }
.h4-actus li span { font-size: 15px; color: var(--h4-texte); }
.h4-actus li b { display: block; font-size: 17px; color: var(--h4-encre); margin-bottom: 4px; }
.h4-actus li b::first-letter { text-transform: uppercase; }

/* 8. Blog */
.h4-blog { background: var(--h4-fond); }
.h4-blog-grille { display: grid; grid-template-columns: 7fr 5fr; gap: 28px; margin-top: 32px; }
.h4-blog-une { display: flex; flex-direction: column; overflow: hidden; }
.h4-blog-une img:not(#h4) { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.h4-blog-titre { display: block; padding: 22px 24px 8px; font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; }
.h4-blog-une .h4-lien { padding: 0 24px 24px; }
.h4-blog-liste { display: flex; flex-direction: column; gap: 18px; }
.h4-blog-liste ul { display: grid; gap: 12px; }
.h4-blog-liste li a { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px; background: #fff; border: 1px solid var(--h4-ligne); border-radius: 7px; }
.h4-blog-liste li b { font-size: 17px; line-height: 1.3; }
.h4-blog-liste .h4-lien { font-size: 15px; }

/* Tablette */
@media (max-width: 1100px) {
  .h4-produits { grid-template-columns: repeat(2, 1fr); max-width: 620px; }
  .h4-intro { margin-top: 170px; grid-template-columns: 1fr; }
  .h4-reseau { grid-template-columns: 1fr; }
  .h4-simu-credits { grid-template-columns: 1fr; }
  .h4-avis { background: #fff; }
  .h4-avis-grille { grid-template-columns: 1fr; width: 100%; }
  .h4-avis-donner { padding: 64px max(32px, calc((100% - 1360px) / 2)); }
  .h4-avis-clients { padding: 64px 32px; }
  .h4-contact-actus { grid-template-columns: 1fr; }
  .h4-raccourcis { grid-template-columns: repeat(3, 1fr); }
  .h4-courtiers-grille { grid-template-columns: 1fr; gap: 32px; }
  .h4-courtiers-intro img { display: none; }
}

/* Mobile */
@media (max-width: 720px) {
  .home-v4 { font-size: 16px; }
  .h4-container { width: calc(100% - 32px); }
  .h4-section { padding-block: 56px; }
  .h4-hero { padding-top: 36px; background: #fff; }
  .h4-hero::before { display: none; }
  .h4-hero-inner { flex-direction: column; min-height: 0; gap: 0; }
  .h4-hero-copy { padding-bottom: 24px; }
  .h4-hero h1 { font-size: 40px; }
  .home-v4 .h4-label { border-radius: 7px; }
  .home-v4 .h4-label img { width: 52px; height: 52px; }
.home-v4 .h4-hero-photo:not(#h4) { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 88% 0; border-radius: 7px; margin-bottom: 16px; }
  .h4-actions .h4-btn { width: 100%; }
  .h4-produits { gap: 10px; transform: none; margin: 0; padding-bottom: 24px; }
  .h4-produits a { flex-direction: column; text-align: center; gap: 8px; padding: 16px 10px; font-size: 15px; }
  .h4-produits a > .h4-icon { display: none; }
  .h4-intro { margin-top: 40px; }
  .h4-intro-sombre, .h4-intro-texte { padding: 32px 22px; }
  .h4-chiffres { gap: 12px; }
  .h4-chiffres strong { font-size: 30px; }
  .h4-chiffres span { font-size: 13px; }
  .h4-courtier { grid-template-columns: 92px 1fr; gap: 14px; padding: 12px; }
  .h4-courtier > img:not(#h4) { width: 92px; height: 116px; }
  .h4-reseau-carte { padding: 32px 20px; }
  .h4-reseau-grille { grid-template-columns: 1fr; gap: 20px; }
  .h4-map { max-width: 280px; margin-inline: auto; }
  .h4-triple-a { padding: 36px 20px; }
  .h4-credits { grid-template-columns: 1fr; }
  .home-v4 .h4-femme-ok { display: none; }
  .h4-credits-corps { padding: 32px 18px 24px; }
  .h4-avis-grille.h4-container { width: 100%; }
  .h4-avis-donner { padding: 48px 16px; }
  .h4-avis-clients { padding: 48px 16px; }
  .h4-avis-entete img { display: none; }
  .h4-avis-liste { grid-template-columns: 1fr; }
  .h4-raccourcis { grid-template-columns: 1fr; }
  .h4-raccourcis a { min-height: 110px; }
  .h4-blog-grille { grid-template-columns: 1fr; }
}

/* =====================================================================================
   Bandeau d'accueil resserre (retour d'Ahmed du 29/09) : moins de vide, label Triple A
   dans l'espace libre a droite (au-dessus de la famille), photo remontee, et les 4 solutions
   (credit immobilier, assurance, rachat, credit pro) visibles sans defiler.
   Ordinateur et grande tablette seulement ; le mobile garde sa mise en page (max-width: 720px).
   ===================================================================================== */
@media (min-width: 721px) {
  /* photo reduite pour que la famille tienne entiere dans le bandeau plus court, avec du ciel au-dessus pour le label.
     La photo est dans un calque a part dont le bord gauche s'efface en fondu (sinon une cassure nette apparait). */
  .h4-hero:not(#h4) { padding-top: 26px; background-image: none; background-color: #F6F3EE; }
  .h4-hero:not(#h4)::after {
    content: ""; position: absolute; top: 0; right: 0; height: 100%; aspect-ratio: 2.45; max-width: 100%; z-index: 0; pointer-events: none;
    background: url(/img/accueil/bg-home.webp) right top / auto 172% no-repeat;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 32%); mask-image: linear-gradient(90deg, transparent 0, #000 32%);
  }
  .h4-hero:not(#h4)::before { z-index: 1; }
  .h4-hero:not(#h4) > * { z-index: 2; }
  .h4-hero-inner:not(#h4) { position: relative; min-height: 0; }
  .h4-hero-copy:not(#h4) { padding-bottom: 20px; }
  .home-v4 .h4-eyebrow:not(#h4) { margin-bottom: 8px; }
  .h4-hero h1:not(#h4) { font-size: clamp(40px, 4.1vw, 60px); line-height: 1.02; }
  .home-v4 .h4-lead:not(#h4) { margin-top: 12px; font-size: clamp(18px, 1.4vw, 21px); }
  .h4-actions:not(#h4) { margin-top: 20px; }
  .h4-produits:not(#h4) { margin-top: 0; }
  .h4-intro:not(#h4) { margin-top: 78px; }
}
@media (min-width: 1101px) {
  /* label Triple A (Ahmed, 29/09) : logo seul, grand et imposant, au milieu de l'espace vide du bandeau
     (juste apres la fin du titre, dont la largeur suit sa taille de police ; avant la famille), sans cadre ni texte (le texte reste lisible par les lecteurs d'ecran). */
  .home-v4 .h4-label:not(#h4) {
    position: absolute; top: 50%; left: calc(clamp(40px, 4.1vw, 60px) * 10 + 3vw); transform: translateY(-50%); margin: 0; padding: 0; max-width: none;
    background: none; border: 0; box-shadow: none; border-radius: 50%;
    transition: transform .25s;
  }
  .home-v4 .h4-label:not(#h4):hover { transform: translateY(-50%) scale(1.04); }
  .home-v4 .h4-label img:not(#h4) { width: clamp(160px, 15vw, 260px); height: auto; filter: drop-shadow(0 18px 34px rgba(31, 32, 33, .22)); }
  .home-v4 .h4-label span:not(#h4) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (min-width: 1101px) and (max-width: 1349px) {
  /* ecran moyen : moins de place entre le texte et la famille, logo un peu plus petit et plus haut, texte d'intro plus etroit */
  .home-v4 .h4-lead:not(#h4) { max-width: 440px; }
  .home-v4 .h4-label:not(#h4) { top: 42%; }
  .home-v4 .h4-label img:not(#h4) { width: 150px; }
}
@media (min-width: 900px) and (max-width: 1100px) {
  /* grande tablette : les 4 solutions sur une ligne pour rester visibles sans defiler */
  .h4-produits:not(#h4) { grid-template-columns: repeat(4, 1fr); max-width: none; gap: 10px; }
  .h4-produits:not(#h4) a { padding: 14px 12px; gap: 10px; font-size: 15px; }
  .h4-produits:not(#h4) a > .h4-icon { display: none; }
  .h4-intro:not(#h4) { margin-top: 90px; }
}
@media (max-width: 720px) {
  /* mobile resserre : photo moins haute (famille entiere), moins d'espace en haut */
  .h4-hero:not(#h4) { padding-top: 20px; }
  .home-v4 .h4-hero-photo:not(#h4):not(#h4b) { aspect-ratio: 16 / 11; object-position: 80% 20%; margin-bottom: 12px; }
  .home-v4 .h4-label:not(#h4) { margin-top: 16px; }
  .h4-hero-copy:not(#h4) { padding-bottom: 16px; }
}
