/* ============================================================================
   REFONTE C2 (26/09/2026) — silhouette homepage copiée du modèle Square
   (REFONTE-DA/RELEVE-MODELE.md). Utilise les jetons déjà posés en C1
   (--fond, --fond-alt, --encre, --gris-texte, --accent, --bordure, --rayon-*,
   --ombre-carte, --conteneur, --rythme). Ne redéfinit aucune couleur.
   ========================================================================== */

/* ---- 1. Hero ---- */
.lba2-hero{ padding-top:var(--rythme); background:var(--fond); }
.lba2-hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; }
.lba2-hero-texte{ padding-top:12px; }
.lba2-hero-titre{ font-size:44px; line-height:1.18; font-weight:700; margin:0 0 20px; }
.lba2-hero-soustitre{ font-size:18px; line-height:1.6; color:var(--gris-texte); max-width:46ch; margin:0 0 16px; }
.lba2-hero-preuves{ font-size:14px; color:var(--gris-texte); margin:0; }
.lba2-carte-formulaire{ background:var(--fond); border-radius:var(--rayon-carte); box-shadow:var(--ombre-carte); padding:28px; }
.lba2-hero-photo{ margin-top:var(--rythme); width:100%; }
.lba2-hero-photo img{ width:100%; max-height:520px; object-fit:cover; border-radius:0; display:block; }
@media (max-width:900px){
	.lba2-hero-grid{ grid-template-columns:1fr; gap:32px; }
	.lba2-hero-titre{ font-size:32px; }
	.lba2-hero-photo{ margin-top:var(--rythme-mobile); }
	.lba2-hero-photo img{ max-height:260px; }
}

/* ---- 2. Rangées alternées ---- */
.lba2-row{ padding:var(--rythme) 0; background:var(--fond); }
.lba2-row:nth-of-type(2n){ background:var(--fond-alt); }
.lba2-row-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.lba2-row--inverse .lba2-row-photo{ order:2; }
.lba2-row--inverse .lba2-row-texte{ order:1; }
.lba2-row-photo img{ width:100%; height:360px; object-fit:cover; border-radius:var(--rayon-carte); box-shadow:var(--ombre-carte); }
.lba2-row-texte p{ color:var(--gris-texte); font-size:16px; line-height:1.7; }
.lba2-mini-cartes{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:20px 0; }
.lba2-mini-carte{ background:var(--fond); border-radius:var(--rayon-carte); box-shadow:inset 0 0 0 1px var(--bordure); padding:18px; }
.lba2-mini-carte strong{ display:block; margin-bottom:8px; }
.lba2-mini-carte p{ font-size:14px; margin:0; }
.lba2-methode-liste{ list-style:none; margin:0 0 16px; padding:0; counter-reset:methode; }
.lba2-methode-liste li{ counter-increment:methode; position:relative; padding-left:38px; margin-bottom:14px; color:var(--encre); font-weight:500; }
.lba2-methode-liste li::before{ content:counter(methode); position:absolute; left:0; top:-2px; width:26px; height:26px; border-radius:50%; background:var(--accent); color:#fff; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.lba2-methode-note{ color:var(--gris-texte); font-size:14px; }
@media (max-width:900px){
	.lba2-row{ padding:var(--rythme-mobile) 0; }
	.lba2-row-grid{ grid-template-columns:1fr; gap:24px; }
	.lba2-row--inverse .lba2-row-photo, .lba2-row--inverse .lba2-row-texte{ order:initial; }
	.lba2-row-photo img{ height:220px; }
	.lba2-mini-cartes{ grid-template-columns:1fr; }
}

/* ---- 3. Onglets métiers ---- */
.lba2-tabs{ padding:var(--rythme) 0; background:var(--fond); }
.lba2-tablist{ display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--bordure); margin:28px 0 0; padding-bottom:0; }
.lba2-tab{ appearance:none; border:none; background:transparent; font:inherit; font-size:15px; font-weight:600; color:var(--gris-texte); padding:12px 18px; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-1px; border-radius:0; }
.lba2-tab[aria-selected="true"]{ color:var(--accent); border-bottom-color:var(--accent); }
.lba2-tab:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.lba2-panel{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding-top:36px; }
.lba2-panel-img img{ width:100%; height:340px; object-fit:cover; border-radius:var(--rayon-carte); box-shadow:var(--ombre-carte); }
.lba2-panel-corps p{ color:var(--gris-texte); margin-bottom:20px; }
@media (max-width:900px){
	.lba2-tabs{ padding:var(--rythme-mobile) 0; }
	.lba2-tablist{ overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
	.lba2-tab{ flex:none; white-space:nowrap; padding:10px 14px; }
	.lba2-panel{ grid-template-columns:1fr; gap:20px; }
	.lba2-panel-img img{ height:220px; }
}

/* ---- 4. Gros chiffres ---- */
.lba2-chiffres{ padding:var(--rythme) 0; background:var(--fond); text-align:center; }
.lba2-chiffres-grille{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:32px; }
.lba2-chiffre-valeur{ font-size:40px; font-weight:800; color:var(--encre); margin:0 0 6px; line-height:1.1; }
.lba2-chiffre-label{ color:var(--gris-texte); font-size:15px; margin:0; }
.lba2-chiffres-note{ color:var(--gris-texte); font-size:13px; margin-top:28px; }
@media (max-width:900px){
	.lba2-chiffres{ padding:var(--rythme-mobile) 0; }
	.lba2-chiffres-grille{ grid-template-columns:repeat(2,1fr); gap:20px; }
	.lba2-chiffre-valeur{ font-size:28px; }
}

/* ---- 5/6. Grilles cartes (guides / actu) ---- */
.lba2-guides{ padding:var(--rythme) 0; background:var(--fond-alt); }
.lba2-actu{ padding:var(--rythme) 0; background:var(--fond); }
.lba2-guides-tete, .lba2-actu-tete{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:28px; }
.lba2-guides-grille{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.lba2-carte{ background:var(--fond); border-radius:var(--rayon-carte); box-shadow:var(--ombre-carte); overflow:hidden; display:flex; flex-direction:column; height:100%; }
.lba2-carte-img{ display:block; aspect-ratio:4/3; overflow:hidden; }
.lba2-carte-img img{ width:100%; height:100%; object-fit:cover; }
.lba2-carte-corps{ padding:18px 20px 22px; flex:1; display:flex; flex-direction:column; gap:8px; }
.lba2-carte-corps h3{ font-size:18px; margin:0; line-height:1.35; }
.lba2-carte-corps h3 a{ color:var(--encre); text-decoration:none; }
.lba2-pastille{ display:inline-block; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); border:1px solid var(--accent); border-radius:999px; padding:3px 10px; width:fit-content; }
.lba2-actu-grille{ display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:start; }
.lba2-carte--grande .lba2-carte-img{ aspect-ratio:16/9; }
.lba2-actu-lignes{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.lba2-actu-lignes .lba2-carte{ flex-direction:row; }
.lba2-actu-lignes .lba2-carte-img{ width:120px; flex:none; aspect-ratio:1/1; }
.lba2-actu-lignes .lba2-carte-corps{ padding:12px 16px; justify-content:center; }
.lba2-actu-lignes h3{ font-size:15px; }
@media (max-width:900px){
	.lba2-guides, .lba2-actu{ padding:var(--rythme-mobile) 0; }
	.lba2-guides-grille{ grid-template-columns:1fr; }
	.lba2-actu-grille{ grid-template-columns:1fr; }
}

/* ---- 7. Auteurs — cartes horizontales ---- */
.lba2-auteurs{ padding:var(--rythme) 0; background:var(--fond-alt); }
.lba2-auteurs-grille{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.lba2-carte-auteur{ display:flex; gap:18px; align-items:flex-start; background:var(--fond); border-radius:var(--rayon-carte); box-shadow:var(--ombre-carte); padding:20px; text-decoration:none; color:inherit; }
.lba2-carte-auteur-photo{ width:72px; height:72px; border-radius:50%; object-fit:cover; flex:none; }
.lba2-carte-auteur-corps{ display:flex; flex-direction:column; gap:4px; }
.lba2-carte-auteur-corps strong{ color:var(--encre); font-size:16px; }
.lba2-carte-auteur-role{ color:var(--accent); font-size:13px; font-weight:600; }
.lba2-carte-auteur-bio{ color:var(--gris-texte); font-size:14px; line-height:1.5; }
.lba2-carte-auteur-lien{ color:var(--accent); font-size:13px; font-weight:600; margin-top:4px; }
@media (max-width:900px){
	.lba2-auteurs{ padding:var(--rythme-mobile) 0; }
	.lba2-auteurs-grille{ grid-template-columns:1fr; }
}

/* ---- 8. Carte des villes ---- */
.lba2-villes{ padding:var(--rythme) 0; background:var(--fond); }
.lba2-villes-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.lba2-villes-texte p{ color:var(--gris-texte); margin-bottom:20px; }
.lba2-villes-carte{ position:relative; }
@media (max-width:900px){
	.lba2-villes{ padding:var(--rythme-mobile) 0; }
	.lba2-villes-grid{ grid-template-columns:1fr; gap:24px; }
}

/* ---- 9. FAQ 2 colonnes ---- */
.lba2-faq{ padding:var(--rythme) 0; background:var(--fond-alt); }
.lba2-faq-grille{ display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; margin-top:28px; }
.lba2-faq-item{ background:var(--fond); border-radius:var(--rayon-base); box-shadow:inset 0 0 0 1px var(--bordure); padding:4px 0; align-self:start; }
.lba2-faq-item summary{ cursor:pointer; list-style:none; padding:16px 20px; font-weight:600; color:var(--encre); position:relative; }
.lba2-faq-item summary::-webkit-details-marker{ display:none; }
.lba2-faq-item summary::after{ content:"+"; position:absolute; right:20px; top:14px; color:var(--accent); font-size:20px; font-weight:400; }
.lba2-faq-item[open] summary::after{ content:"–"; }
.lba2-faq-item div{ padding:0 20px 18px; color:var(--gris-texte); font-size:15px; line-height:1.6; }
@media (max-width:900px){
	.lba2-faq{ padding:var(--rythme-mobile) 0; }
	.lba2-faq-grille{ grid-template-columns:1fr; }
}

/* ---- Titres partagés ---- */
.lba2-titre{ font-size:32px; line-height:1.25; font-weight:700; margin:0 0 8px; color:var(--encre); }
