/* Cabinet Hached : feuille de composants. Toutes les valeurs viennent de tokens.json (var(--…)). */

.ch, .ch * { box-sizing: border-box; }
.ch { font-family: var(--font-sans); font-size: 17px; line-height: 28px; color: var(--encre); background: var(--ivoire); -webkit-font-smoothing: antialiased; }
.ch h1, .ch h2, .ch h3, .ch h4 { font-family: var(--font-serif); font-weight: 500; margin: 0; color: inherit; }
.ch p { margin: 0; }
.ch :where(a) { color: var(--petrole); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ch :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--radius-sm); }
.ch svg.i { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.ch-container { max-width: var(--conteneur); margin: 0 auto; padding-left: max(var(--space-7), env(safe-area-inset-left, 0px)); padding-right: max(var(--space-7), env(safe-area-inset-right, 0px)); }
.ch-section { padding: var(--space-9) 0; }
.ch-section--sable { background: var(--sable); }
.ch-section--sombre { background: var(--petrole-profond); color: var(--texte-inverse); }

/* typographie */
.ch-surtitre { font-family: var(--font-sans); font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--argile); display: inline-flex; align-items: center; gap: var(--space-3); }
.ch-section--sombre .ch-surtitre, .ch-hero .ch-surtitre, .ch-contact .ch-surtitre { color: var(--argile-lumineux); }
.ch-display { font-size: 64px; line-height: 68px; letter-spacing: -.01em; }
.ch-h1 { font-size: 48px; line-height: 54px; letter-spacing: -.005em; }
.ch-h2 { font-size: 34px; line-height: 40px; }
.ch-h3 { font-size: 24px; line-height: 30px; }
.ch-chapo { font-size: 20px; line-height: 31px; color: var(--encre-douce); }
.ch-petit { font-size: 15px; line-height: 24px; }
.ch-doux { color: var(--encre-douce); }
.ch-citation { font-family: var(--font-serif); font-style: italic; font-size: 24px; line-height: 34px; }
.ch-entete-section { display: grid; gap: var(--space-4); margin-bottom: var(--space-7); max-width: 720px; }

/* boutons */
.ch-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); font: 600 15px/20px var(--font-sans); padding: var(--space-3) var(--space-5); border-radius: var(--radius-md); border: 1.5px solid transparent; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s; }
.ch-btn--principal { background: var(--petrole); color: var(--texte-inverse); }
.ch-btn--principal:hover { background: var(--petrole-profond); }
.ch-btn--secondaire { background: transparent; color: var(--petrole); border-color: var(--ligne-forte); }
.ch-btn--secondaire:hover { border-color: var(--petrole); background: var(--blanc); }
.ch-btn--inverse { background: var(--ivoire); color: var(--petrole-profond); }
.ch-btn--inverse:hover { background: var(--blanc); }
.ch-btn--contour-inverse { background: transparent; color: var(--texte-inverse); border-color: var(--texte-inverse-doux); }
.ch-btn--contour-inverse:hover { border-color: var(--texte-inverse); }
.ch-btn--grand { padding: 14px var(--space-6); font-size: 16px; }
.ch-lien-fleche { display: inline-flex; align-items: center; gap: var(--space-2); font: 600 15px/20px var(--font-sans); color: var(--petrole); text-decoration: none; }
.ch-lien-fleche svg { transition: transform .15s; }
.ch-lien-fleche:hover svg { transform: translateX(3px); }

/* en-tête */
.ch-topbar { background: var(--petrole-profond); color: var(--texte-inverse-doux); font-size: 14px; line-height: 20px; }
.ch-topbar .ch-container { display: flex; justify-content: space-between; align-items: center; height: 40px; }
.ch-topbar a { color: var(--texte-inverse); text-decoration: none; }
.ch-topbar__groupe { display: flex; gap: var(--space-5); align-items: center; }
.ch-topbar__item { display: inline-flex; gap: var(--space-2); align-items: center; }
.ch-topbar svg.i { width: 16px; height: 16px; }
.ch-header { background: var(--ivoire); border-bottom: 1px solid var(--ligne); position: relative; }
.ch-header > .ch-container { display: flex; align-items: center; justify-content: space-between; height: 88px; gap: var(--space-5); }
.ch-header__logo img { display: block; height: 48px; width: auto; }
.ch-nav { display: flex; gap: 0; align-items: center; list-style: none; margin: 0; padding: 0; }
.ch-nav a, .ch-nav button { font: 500 15px/20px var(--font-sans); color: var(--encre); text-decoration: none; padding: var(--space-2) 10px; border-radius: var(--radius-md); background: none; border: 0; display: inline-flex; white-space: nowrap; align-items: center; gap: var(--space-1); cursor: pointer; }
.ch-nav a:hover, .ch-nav button:hover { color: var(--petrole); background: var(--petrole-clair); }
.ch-nav [aria-current="page"], .ch-nav [aria-expanded="true"] { color: var(--petrole); box-shadow: inset 0 -2px 0 var(--argile); border-radius: 0; }
.ch-nav svg.i { width: 16px; height: 16px; }

/* méga-menu Compétences */
.ch-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--blanc); box-shadow: var(--ombre-menu); border-top: 1px solid var(--ligne); z-index: 5; }
.ch-mega .ch-container { display: grid; grid-template-columns: 280px 1fr; gap: var(--space-7); padding-top: var(--space-6); padding-bottom: var(--space-6); }
.ch-mega__intro { display: grid; gap: var(--space-3); align-content: start; padding-right: var(--space-6); border-right: 1px solid var(--ligne); }
.ch-mega__grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-1) var(--space-5); }
.ch-mega__lien { display: grid; gap: 2px; padding: var(--space-3); border-radius: var(--radius-md); text-decoration: none; color: var(--encre); }
.ch-mega__lien:hover { background: var(--petrole-clair); }
.ch-mega__lien strong { font: 500 18px/24px var(--font-serif); color: var(--encre); }
.ch-mega__lien span { font-size: 14px; line-height: 20px; color: var(--encre-douce); }

/* hero */
.ch-hero { background: var(--petrole-profond); color: var(--texte-inverse); position: relative; overflow: hidden; }
.ch-hero .ch-container { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-8); align-items: center; padding-top: var(--space-9); padding-bottom: var(--space-9); }
.ch-hero__texte { display: grid; gap: var(--space-5); }
.ch-hero__chapo { font-size: 20px; line-height: 31px; color: var(--texte-inverse-doux); max-width: 560px; }
.ch-hero__actions { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-2); }
.ch-hero__reperes { display: flex; gap: var(--space-6); margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid rgba(184,199,204,.28); }
.ch-hero__repere { display: grid; gap: 2px; }
.ch-hero__repere strong { font: 500 24px/30px var(--font-serif); color: var(--texte-inverse); }
.ch-hero__repere span { font-size: 14px; line-height: 20px; color: var(--texte-inverse-doux); }
.ch-hero__visuel { position: relative; aspect-ratio: 4 / 5; }
.ch-hero__visuel .ch-photo { position: absolute; inset: 0; }
.ch-hero__visuel::after { content: ""; position: absolute; left: -24px; bottom: -24px; width: 96px; height: 96px; border-left: 1.5px solid var(--argile-lumineux); border-bottom: 1.5px solid var(--argile-lumineux); border-bottom-left-radius: var(--radius-lg); }

/* emplacement photo (à remplacer par une vraie photo du cabinet) */
.ch-photo { background: var(--sable); border-radius: var(--radius-lg); display: flex; align-items: flex-end; padding: var(--space-5); color: var(--encre-douce); font-size: 14px; line-height: 20px; overflow: hidden; position: relative; }
.ch-photo::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(22,36,44,.035) 0 12px, transparent 12px 24px); }
.ch-photo span { position: relative; background: var(--blanc); padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); }
.ch-photo--sombre { background: var(--petrole); color: var(--texte-inverse-doux); }
.ch-photo--sombre::before { background: repeating-linear-gradient(135deg, rgba(247,244,238,.05) 0 12px, transparent 12px 24px); }
.ch-photo--sombre span { background: var(--petrole-profond); }

/* carte domaine */
.ch-grille-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.ch-domaine { display: grid; grid-template-rows: auto auto 1fr auto; gap: var(--space-3); background: var(--blanc); border: 1px solid var(--ligne); border-radius: var(--radius-md); padding: var(--space-6); text-decoration: none; color: var(--encre); transition: box-shadow .2s, border-color .2s, transform .2s; }
.ch-domaine:hover { box-shadow: var(--ombre-carte); border-color: var(--petrole); transform: translateY(-2px); }
.ch-domaine__num { font: 500 15px/20px var(--font-serif); font-style: italic; color: var(--argile); }
.ch-domaine__titre { font: 500 24px/30px var(--font-serif); }
.ch-domaine__texte { font-size: 15px; line-height: 24px; color: var(--encre-douce); }
.ch-domaine__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ch-tag { font-size: 13px; line-height: 18px; font-weight: 500; color: var(--petrole); background: var(--petrole-clair); padding: 3px 10px; border-radius: var(--radius-pill); text-decoration: none; }

/* bloc cabinet */
.ch-split { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-8); align-items: center; }
.ch-split__photo { aspect-ratio: 4 / 5; }
.ch-liste-check { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-3); }
.ch-liste-check li { display: flex; gap: var(--space-3); align-items: flex-start; }
.ch-liste-check svg.i { color: var(--petrole); margin-top: 4px; }

/* carte actualité */
.ch-actu { display: grid; gap: var(--space-4); text-decoration: none; color: var(--encre); align-content: start; }
.ch-actu__visuel { aspect-ratio: 16 / 10; border-radius: var(--radius-md); }
.ch-actu__meta { display: flex; gap: var(--space-3); font-size: 14px; line-height: 20px; color: var(--encre-douce); align-items: center; }
.ch-actu__titre { font: 500 22px/29px var(--font-serif); }
.ch-actu:hover .ch-actu__titre { color: var(--petrole); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* newsletter */
.ch-newsletter { background: var(--petrole); color: var(--texte-inverse); border-radius: var(--radius-md); padding: var(--space-6); display: grid; gap: var(--space-4); align-content: start; }
.ch-newsletter p { color: var(--texte-inverse-doux); font-size: 15px; line-height: 24px; }
.ch-newsletter form { display: grid; gap: var(--space-3); }

/* formulaire */
.ch-champ { display: grid; gap: 6px; }
.ch-champ label { font-size: 14px; line-height: 20px; font-weight: 600; }
.ch-champ input, .ch-champ select, .ch-champ textarea { font: 400 16px/24px var(--font-sans); color: var(--encre); background: var(--blanc); border: 1px solid var(--ligne-forte); border-radius: var(--radius-sm); padding: 10px var(--space-3); width: 100%; }
.ch-champ textarea { min-height: 112px; resize: vertical; }
.ch-champ input::placeholder, .ch-champ textarea::placeholder { color: var(--encre-douce); }
.ch-champ--erreur input { border-color: var(--erreur); border-width: 1.5px; }
.ch-champ__erreur { font-size: 14px; line-height: 20px; color: var(--erreur); }
.ch-champs-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }

/* bandeau contact */
.ch-contact { background: var(--petrole-profond); color: var(--texte-inverse); }
.ch-contact .ch-container { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-8); padding-top: var(--space-9); padding-bottom: var(--space-9); }
.ch-contact__coord { display: grid; gap: var(--space-5); align-content: start; }
.ch-contact__ligne { display: flex; gap: var(--space-3); align-items: flex-start; color: var(--texte-inverse-doux); font-size: 15px; line-height: 24px; }
.ch-contact__ligne strong { display: block; color: var(--texte-inverse); font-size: 17px; font-weight: 500; }
.ch-contact__ligne a { color: var(--texte-inverse); text-decoration: none; }
.ch-contact__ligne svg.i { color: var(--argile-lumineux); margin-top: 2px; }
.ch-contact__form { background: var(--blanc); color: var(--encre); border-radius: var(--radius-md); padding: var(--space-6); display: grid; gap: var(--space-4); }

/* fil d'Ariane */
.ch-ariane { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; font-size: 14px; line-height: 20px; color: var(--encre-douce); list-style: none; margin: 0; padding: 0; }
.ch-ariane a { color: var(--encre-douce); text-decoration: none; }
.ch-ariane a:hover { color: var(--petrole); text-decoration: underline; }
.ch-ariane li + li::before { content: "/"; margin-right: var(--space-2); color: var(--ligne-forte); }
.ch-ariane [aria-current] { color: var(--encre); font-weight: 500; }

/* encart */
.ch-encart { background: var(--argile-clair); border-radius: var(--radius-md); padding: var(--space-5) var(--space-6); display: grid; gap: var(--space-2); }
.ch-encart__titre { font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--argile); }

/* page intérieure */
.ch-page-tete { padding: var(--space-7) 0 var(--space-8); border-bottom: 1px solid var(--ligne); }
.ch-page-tete .ch-container { display: grid; gap: var(--space-5); }
.ch-page-corps { display: grid; grid-template-columns: 1fr 340px; gap: var(--space-8); align-items: start; }
.ch-prose { display: grid; gap: var(--space-5); max-width: var(--colonne-texte); }
.ch-prose h2 { font-size: 30px; line-height: 36px; margin-top: var(--space-4); }
.ch-sous-pages { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.ch-sous-page { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-5); background: var(--blanc); border: 1px solid var(--ligne); border-radius: var(--radius-md); text-decoration: none; color: var(--encre); font: 500 18px/24px var(--font-serif); }
.ch-sous-page:hover { border-color: var(--petrole); color: var(--petrole); }
.ch-sous-page svg.i { color: var(--petrole); }
.ch-aside { position: sticky; top: var(--space-5); display: grid; gap: var(--space-4); background: var(--blanc); border: 1px solid var(--ligne); border-radius: var(--radius-md); padding: var(--space-6); }
.ch-aside__tel { font: 500 26px/32px var(--font-serif); color: var(--argile); text-decoration: none; }

/* pied de page */
.ch-footer { background: var(--petrole-profond); color: var(--texte-inverse-doux); font-size: 15px; line-height: 24px; border-top: 1px solid rgba(184,199,204,.2); }
.ch-footer .ch-container { padding-top: var(--space-8); padding-bottom: var(--space-6); }
.ch-footer__grille { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--space-6); padding-bottom: var(--space-7); }
.ch-footer h3 { font: 600 13px/16px var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--texte-inverse); margin-bottom: var(--space-4); }
.ch-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.ch-footer a { color: var(--texte-inverse-doux); text-decoration: none; }
.ch-footer a:hover { color: var(--texte-inverse); text-decoration: underline; }
.ch-footer__bas { display: flex; justify-content: space-between; gap: var(--space-5); padding-top: var(--space-5); border-top: 1px solid rgba(184,199,204,.2); font-size: 14px; line-height: 20px; }

@media (max-width: 900px) {
  .ch-container { padding-left: max(var(--space-4), env(safe-area-inset-left, 0px)); padding-right: max(var(--space-4), env(safe-area-inset-right, 0px)); }
  .ch-section { padding: var(--space-8) 0; }
  .ch-display { font-size: 40px; line-height: 44px; }
  .ch-h1 { font-size: 34px; line-height: 40px; }
  .ch-h2 { font-size: 28px; line-height: 34px; }
  .ch-hero .ch-container, .ch-split, .ch-contact .ch-container, .ch-page-corps { grid-template-columns: 1fr; }
  .ch-grille-3, .ch-sous-pages, .ch-champs-2 { grid-template-columns: 1fr; }
  .ch-footer__grille { grid-template-columns: 1fr 1fr; }
  .ch-nav { display: none; }
}

/* menu déroulant simple (Honoraires) */
.ch-nav li { position: relative; }
.ch-deroulant { position: absolute; top: calc(100% + 8px); left: 0; min-width: 220px; background: var(--blanc); border: 1px solid var(--ligne); border-radius: var(--radius-md); box-shadow: var(--ombre-menu); padding: var(--space-2); display: grid; gap: 2px; z-index: 6; }
.ch-nav .ch-deroulant a { display: block; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); }

/* navigation mobile */
.ch-burger { display: none; align-items: center; gap: var(--space-2); font: 600 15px/20px var(--font-sans); color: var(--encre); background: none; border: 1.5px solid var(--ligne-forte); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); cursor: pointer; }
.ch-burger svg.i { width: 18px; height: 18px; }
.ch-mobile { background: var(--blanc); border-bottom: 1px solid var(--ligne); box-shadow: var(--ombre-menu); }
.ch-mobile .ch-container { display: grid; gap: var(--space-1); padding-top: var(--space-4); padding-bottom: var(--space-5); }
.ch-mobile a { display: block; padding: var(--space-3) 0; border-bottom: 1px solid var(--ligne); color: var(--encre); text-decoration: none; font: 500 17px/24px var(--font-sans); }
.ch-mobile a.ch-mobile__sous { padding-left: var(--space-4); font-size: 15px; color: var(--encre-douce); }
.ch-mobile .ch-btn { margin-top: var(--space-4); border-bottom: 0; color: var(--texte-inverse); }

/* fiches : sœurs du même domaine */
.ch-soeurs { display: grid; gap: var(--space-4); padding-top: var(--space-7); margin-top: var(--space-4); border-top: 1px solid var(--ligne); }

/* plan du site */
.ch-plan { columns: 3 260px; column-gap: var(--space-7); }
.ch-plan section { break-inside: avoid; margin-bottom: var(--space-6); display: grid; gap: var(--space-2); }
.ch-plan h2 { font-size: 20px; line-height: 26px; }
.ch-plan ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); font-size: 15px; line-height: 24px; }

@media (max-width: 900px) {
  .ch-burger { display: inline-flex; }
  .ch-header > .ch-container { height: 72px; }
  .ch-header .ch-btn--principal { display: none; }
  .ch-header__logo img { height: 40px; }
  .ch-topbar__groupe:first-child { display: none; }
  .ch-topbar .ch-container { justify-content: flex-end; }
  .ch-hero__visuel { aspect-ratio: 4 / 3; }
  .ch-hero__reperes { flex-wrap: wrap; gap: var(--space-4); }
  .ch-mega { display: none; }
  .ch-footer__bas { flex-direction: column; }
}
@media (max-width: 560px) {
  .ch-footer__grille { grid-template-columns: 1fr; }
  .ch-display { font-size: 36px; line-height: 40px; }
  .ch-contact__form, .ch-aside, .ch-newsletter { padding: var(--space-5); }
}

/* ===== blocs ajoutés (v2) ===== */

/* texte courant sur deux colonnes */
.ch-texte-2col { columns: 2 300px; column-gap: var(--space-7); }
.ch-texte-2col p { margin: 0 0 var(--space-4); break-inside: avoid-column; }
.ch-texte-2col p:first-child::first-line { font-weight: 500; }
.ch-intro { display: grid; grid-template-columns: 4fr 8fr; gap: var(--space-7); align-items: start; }
.ch-intro__titre { display: grid; gap: var(--space-3); }

/* points forts */
.ch-forces { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); }
@media (min-width: 901px) { .ch-forces--n3 { grid-template-columns: repeat(3, 1fr); } .ch-forces--n2 { grid-template-columns: repeat(2, 1fr); } .ch-forces--n1 { grid-template-columns: 1fr; } }
.ch-force { background: var(--blanc); border: 1px solid var(--ligne); border-top: 2px solid var(--argile); border-radius: var(--radius-md); padding: var(--space-5); display: grid; gap: var(--space-2); align-content: start; }
.ch-force__titre { font: 500 22px/28px var(--font-serif); color: var(--encre); }
.ch-force__texte { font-size: 15px; line-height: 24px; color: var(--encre-douce); }
.ch-forces--chevauche { margin-top: calc(var(--space-8) * -1); position: relative; z-index: 2; }

/* étapes d'accompagnement */
.ch-etapes { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); counter-reset: etape; }
.ch-etape { display: grid; gap: var(--space-3); align-content: start; padding-top: var(--space-5); border-top: 1px solid var(--ligne-forte); }
.ch-etape__num { font: italic 500 44px/44px var(--font-serif); color: var(--argile); }
.ch-etape__titre { font: 500 24px/30px var(--font-serif); }
.ch-etape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); font-size: 15px; line-height: 24px; color: var(--encre-douce); }
.ch-etape li { display: flex; gap: var(--space-2); }
.ch-etape li svg.i { width: 18px; height: 18px; color: var(--petrole); margin-top: 3px; }
.ch-section--sombre .ch-etape { border-top-color: rgba(184,199,204,.35); }
.ch-section--sombre .ch-etape__num { color: var(--argile-lumineux); }
.ch-section--sombre .ch-etape ul { color: var(--texte-inverse-doux); }
.ch-section--sombre .ch-etape li svg.i { color: var(--argile-lumineux); }

/* modes de consultation */
.ch-modes { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
.ch-mode { display: grid; gap: var(--space-2); padding: var(--space-5); border-radius: var(--radius-md); background: var(--blanc); border: 1px solid var(--ligne); align-content: start; }
.ch-mode__icone { width: 44px; height: 44px; border-radius: var(--radius-pill); background: var(--petrole-clair); color: var(--petrole); display: grid; place-items: center; margin-bottom: var(--space-2); }
.ch-mode__titre { font: 600 17px/24px var(--font-sans); }
.ch-mode p { font-size: 15px; line-height: 24px; color: var(--encre-douce); }

/* FAQ */
.ch-faq { display: grid; border-top: 1px solid var(--ligne); }
.ch-faq details { border-bottom: 1px solid var(--ligne); }
.ch-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-4); align-items: center; padding: var(--space-5) 0; font: 500 20px/28px var(--font-serif); color: var(--encre); }
.ch-faq summary::-webkit-details-marker { display: none; }
.ch-faq summary::after { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--ligne-forte); background: linear-gradient(var(--petrole), var(--petrole)) center / 12px 1.5px no-repeat, linear-gradient(var(--petrole), var(--petrole)) center / 1.5px 12px no-repeat; }
.ch-faq details[open] summary::after { background: linear-gradient(var(--petrole), var(--petrole)) center / 12px 1.5px no-repeat; }
.ch-faq summary:hover { color: var(--petrole); }
.ch-faq__reponse { padding: 0 var(--space-8) var(--space-5) 0; color: var(--encre-douce); max-width: 760px; }
.ch-faq-layout { display: grid; grid-template-columns: 4fr 8fr; gap: var(--space-8); align-items: start; }

/* bandeau d'appel à l'action */
.ch-cta { background: var(--petrole); color: var(--texte-inverse); border-radius: var(--radius-lg); padding: var(--space-7); display: flex; flex-wrap: wrap; gap: var(--space-6); align-items: center; justify-content: space-between; position: relative; overflow: hidden; }
.ch-cta::after { content: ""; position: absolute; right: -60px; bottom: -120px; width: 260px; height: 260px; border-radius: 50%; border: 1.5px solid rgba(227,154,123,.5); pointer-events: none; }
.ch-cta__texte { display: grid; gap: var(--space-2); max-width: 620px; min-width: 0; }
.ch-cta__texte p { color: var(--texte-inverse-doux); }
.ch-cta__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); position: relative; z-index: 1; }

/* domaines mis en avant (avec photo) + liste compacte */
.ch-domaine--photo { padding: 0; overflow: hidden; grid-template-rows: auto 1fr; }
.ch-domaine--photo .ch-domaine__img { aspect-ratio: 2 / 1; overflow: hidden; background: var(--sable); }
.ch-domaine--photo .ch-domaine__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.ch-domaine--photo:hover .ch-domaine__img img { transform: scale(1.03); }
.ch-domaine__corps { display: grid; gap: var(--space-3); padding: var(--space-5) var(--space-6) var(--space-6); align-content: start; }
.ch-domaines-liste { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 var(--space-6); margin-top: var(--space-6); border-top: 1px solid var(--ligne); }
.ch-domaines-liste a { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-4) 0; border-bottom: 1px solid var(--ligne); text-decoration: none; color: var(--encre); font: 500 19px/26px var(--font-serif); }
.ch-domaines-liste a span.n { font: italic 500 15px/20px var(--font-serif); color: var(--argile); margin-right: var(--space-3); }
.ch-domaines-liste a:hover { color: var(--petrole); }
.ch-domaines-liste a svg.i { color: var(--petrole); }

/* images réelles */
.ch-img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.ch-portrait { border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4 / 5; background: var(--sable); max-width: 100%; }
.ch-portrait img { filter: grayscale(1); }

/* carte de rappel du hero */
.ch-rappel { background: var(--blanc); color: var(--encre); border-radius: var(--radius-lg); padding: var(--space-6); display: grid; gap: var(--space-4); box-shadow: var(--ombre-menu); }
.ch-rappel__tel { font: 500 30px/36px var(--font-serif); color: var(--petrole); text-decoration: none; }
.ch-rappel hr { border: 0; border-top: 1px solid var(--ligne); margin: 0; width: 100%; }

/* en-tête de page avec visuel */
.ch-page-tete--visuel .ch-container { grid-template-columns: 7fr 5fr; align-items: end; column-gap: var(--space-8); }
.ch-page-tete--visuel .ch-page-tete__texte { display: grid; gap: var(--space-5); }
.ch-page-tete__visuel { aspect-ratio: 2 / 1; border-radius: var(--radius-lg); overflow: hidden; background: var(--sable); max-width: 100%; }

/* honoraires */
.ch-tarifs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.ch-tarif { background: var(--blanc); border: 1px solid var(--ligne); border-radius: var(--radius-md); padding: var(--space-6); display: grid; gap: var(--space-3); align-content: start; }
.ch-tarif__titre { font: 500 24px/30px var(--font-serif); }

/* pays (international) */
.ch-pays { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.ch-pays__carte { background: var(--blanc); border: 1px solid var(--ligne); border-radius: var(--radius-md); padding: var(--space-6); display: grid; gap: var(--space-3); align-content: start; }
.ch-pays__code { font: 600 13px/16px var(--font-sans); letter-spacing: .14em; color: var(--argile); }

/* liste de documents à préparer */
.ch-docs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3) var(--space-6); list-style: none; padding: 0; margin: 0; }
.ch-docs li { display: flex; gap: var(--space-3); align-items: flex-start; }
.ch-docs svg.i { color: var(--petrole); margin-top: 4px; }

@media (max-width: 900px) {
  .ch-intro, .ch-faq-layout, .ch-page-tete--visuel .ch-container { grid-template-columns: 1fr; }
  .ch-forces, .ch-modes { grid-template-columns: 1fr 1fr; }
  .ch-etapes, .ch-tarifs, .ch-pays, .ch-domaines-liste, .ch-docs { grid-template-columns: 1fr; }
  .ch-forces--chevauche { margin-top: 0; }
  .ch-cta { padding: var(--space-6); }
  .ch-faq__reponse { padding-right: 0; }
}
@media (max-width: 560px) { .ch-forces, .ch-modes { grid-template-columns: 1fr; } }

/* contenu actuel d'une page, repris sur deux colonnes */
.ch-contenu-2col { columns: 2 320px; column-gap: var(--space-8); column-rule: 1px solid var(--ligne); }
.ch .ch-contenu-2col > * { margin: 0 0 var(--space-4); }
.ch .ch-contenu-2col h3 { font: 500 21px/28px var(--font-serif); color: var(--encre); margin: var(--space-5) 0 var(--space-2); break-after: avoid; }
.ch .ch-contenu-2col h3:first-child { margin-top: 0; }
.ch-contenu-2col p, .ch-contenu-2col li { font-size: 16px; line-height: 27px; color: var(--encre); }
.ch-contenu-2col ul { padding-left: 20px; display: grid; gap: var(--space-2); break-inside: avoid; }
.ch-contenu-2col li::marker { color: var(--argile); }
.ch-contenu-2col strong { font-weight: 600; }
.ch-lien-texte { color: var(--petrole); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ch-encadre { break-inside: avoid; background: var(--blanc); border: 1px solid var(--ligne); border-radius: var(--radius-md); padding: var(--space-5); display: grid; gap: var(--space-3); }

/* étapes avec texte, variante claire du bandeau d'appel */
.ch-etape__texte { font-size: 15px; line-height: 24px; color: var(--encre-douce); }
.ch-section--sombre .ch-etape__texte { color: var(--texte-inverse-doux); }
.ch-cta--clair { background: var(--sable); color: var(--encre); border: 1px solid var(--ligne); }
.ch-cta--clair .ch-cta__texte p { color: var(--encre-douce); }
.ch-cta--clair::after { border-color: rgba(163,69,42,.35); }

/* en-tête avec le logo balance (plus large) */
.ch-header > .ch-container { gap: var(--space-4); }
.ch-header__logo .logo, .ch-header__logo img { height: 42px !important; }
.ch-nav a, .ch-nav button { padding-left: 8px; padding-right: 8px; }
.ch-header > .ch-container > .ch-btn svg.i { display: none; }
@media (max-width: 1180px) { .ch-nav a, .ch-nav button { font-size: 14px; padding-left: 6px; padding-right: 6px; } }
@media (max-width: 1060px) { .ch-nav, .ch-mega { display: none; } .ch-burger { display: inline-flex; } }
