/* =========================================================================
   HD Avocats — pages construites dans l'éditeur WordPress
   Mêmes règles sur le site et dans l'éditeur : ce que l'on voit est ce qui sera publié.
   ========================================================================= */

/* ---------- Conteneur des pages ---------- */
.hd-content > * { margin-block: 0; }
.hd-content > :where(:not(.alignfull):not(.alignwide):not(section):not(.hd-promise)) { max-width: 860px; margin-inline: auto; padding-inline: var(--gutter); }
.hd-content > .alignwide { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.hd-content--simple { padding-block: var(--space); }
.hd-content--simple > * + * { margin-top: 1.1rem; }
.wp-block-group.alignfull { padding-inline: var(--gutter); }

/* ---------- Titres ---------- */
h1.wp-block-heading { font-size: clamp(2.15rem, 1.4rem + 3vw, 3.7rem); line-height: 1.05; font-weight: 420; letter-spacing: -.015em; max-width: 24ch; }
h2.wp-block-heading { font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.55rem); line-height: 1.12; letter-spacing: -.01em; }
h3.wp-block-heading { font-size: 1.28rem; font-weight: 580; line-height: 1.28; }
.wp-block-column > h2.wp-block-heading:not(:first-child), .wp-block-group > h2.wp-block-heading:not(:first-child) { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
h1.is-style-hd-accueil { font-size: clamp(3rem, 1.5rem + 6.4vw, 6.6rem); line-height: .96; font-weight: 400; letter-spacing: -.022em; max-width: none; }
h2.is-style-hd-petit { font: 650 .98rem/1.3 var(--sans); letter-spacing: 0; color: var(--or-fonce); }

/* ---------- Paragraphes ---------- */
p.is-style-hd-chapeau { font-size: clamp(1.08rem, 1rem + .35vw, 1.24rem); line-height: 1.6; color: var(--texte-2); max-width: 64ch; }
p.is-style-hd-reference { font: italic 400 .93rem/1.4 var(--serif); color: var(--or-fonce); }
p.is-style-hd-verbe { font: italic 400 clamp(2rem, 1.5rem + 1.2vw, 2.6rem)/1.05 var(--serif); color: var(--marine); }
p.is-style-hd-delai { font: 450 1.45rem/1.1 var(--serif); color: var(--rouge); }
p.is-style-hd-etiquette { font-weight: 700; font-size: .9rem; color: var(--marine); }
p.is-style-hd-note { font-size: .88rem; color: var(--gris); }
p.is-style-hd-lien a { font-weight: 650; color: var(--marine); text-decoration: underline; text-decoration-color: var(--or); text-decoration-thickness: 2px; text-underline-offset: 5px; }
p.is-style-hd-lien a:hover { color: var(--or-fonce); }

/* ---------- Sections ---------- */
.wp-block-group.is-style-hd-section, .wp-block-group.is-style-hd-brume, .wp-block-group.is-style-hd-marine { padding-block: var(--space); }
.wp-block-group.is-style-hd-brume { background: var(--brume); }
.wp-block-group.is-style-hd-marine, .wp-block-group.is-style-hd-entete-sombre { background: var(--marine); color: #fff; }
.wp-block-group.is-style-hd-entete, .wp-block-group.is-style-hd-entete-sombre { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(2.25rem, 5vw, 3.5rem); }
.wp-block-group.is-style-hd-entete { background: var(--brume); border-bottom: 1px solid var(--trait); }
.wp-block-group.is-style-hd-entete-sombre { border-bottom: 4px solid var(--or); }
.wp-block-group.hd-accueil-hero { padding-block: clamp(3.25rem, 8vw, 6.25rem) clamp(2.5rem, 5vw, 3.5rem); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) :is(h1, h2, h3) { color: #fff; }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) p { color: rgba(255, 255, 255, .84); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) p.is-style-hd-note { color: rgba(255, 255, 255, .6); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) h2.is-style-hd-petit { color: var(--or-clair); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) p a { color: var(--or-clair); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) .hd-crumbs, :is(.is-style-hd-marine, .is-style-hd-entete-sombre) .hd-crumbs a { color: rgba(255, 255, 255, .7); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) .hd-btn--primary { background: #fff; color: var(--marine); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) .hd-btn--primary:hover { background: var(--brume); color: var(--marine); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) .hd-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .6); }
.hd-boutons { margin-top: 1.6rem; }
.hd-hero-cols { align-items: flex-end !important; }
.wp-block-columns.is-layout-flex { column-gap: 3rem; row-gap: 2.25rem; }
.wp-block-columns.is-style-hd-split { column-gap: 4.5rem; }
@media (min-width: 960px) {
	.is-style-hd-split > .wp-block-column:first-child, .wp-block-column.is-style-hd-collante { position: sticky; top: calc(var(--header) + 2rem); align-self: flex-start; }
}
.wp-block-column.is-style-hd-filet { border-top: 2px solid var(--or); padding-top: 1.25rem; }

/* ---------- Listes stylées ---------- */
:is(ul, ol):is(.is-style-hd-coches, .is-style-hd-index, .is-style-hd-definitions, .is-style-hd-etapes, .is-style-hd-echeancier, .is-style-hd-faits, .is-style-hd-liens) { list-style: none; padding: 0; margin-left: 0; }
.is-style-hd-coches { display: grid; gap: .8rem; }
.is-style-hd-coches li { position: relative; padding-left: 1.9rem; }
.is-style-hd-coches li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.15rem; height: 1.15rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B08A45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / contain; }

.is-style-hd-index { border-top: 1px solid var(--trait); }
.is-style-hd-index li { border-bottom: 1px solid var(--trait); }
.is-style-hd-index a { display: block; padding: 1.1rem .5rem 1.1rem 0; color: var(--gris); font-size: .95rem; text-decoration: none; transition: padding .2s ease, box-shadow .2s ease; }
.is-style-hd-index a strong { display: block; font: 500 1.28rem/1.3 var(--serif); color: var(--marine); margin-bottom: .2rem; }
.is-style-hd-index a:hover { padding-left: 1rem; box-shadow: inset 3px 0 0 var(--or); }
.is-style-hd-index a:hover strong { color: var(--or-fonce); }
.is-style-hd-marine .is-style-hd-index a { color: rgba(255, 255, 255, .75); }
.is-style-hd-marine .is-style-hd-index a strong { color: #fff; }

.is-style-hd-definitions li { padding: 1.1rem 0; border-top: 1px solid var(--trait); color: var(--texte-2); }
.is-style-hd-definitions li:last-child { border-bottom: 1px solid var(--trait); }
.is-style-hd-definitions li > strong:first-child { display: block; font: 600 1.1rem/1.35 var(--serif); color: var(--marine); margin-bottom: .3rem; }
@media (min-width: 720px) {
	.is-style-hd-definitions li { position: relative; padding-left: 16.5rem; }
	.is-style-hd-definitions li > strong:first-child { position: absolute; left: 0; top: 1.1rem; width: 15rem; margin: 0; }
}

.is-style-hd-etapes { counter-reset: hd-step; }
.is-style-hd-etapes li { counter-increment: hd-step; position: relative; padding: 0 0 1.6rem 3.5rem; color: var(--texte-2); }
.is-style-hd-etapes li::before { content: counter(hd-step); position: absolute; left: 0; top: -.15rem; width: 2.3rem; height: 2.3rem; border: 1.5px solid var(--or); border-radius: 50%; display: grid; place-items: center; font: 500 1.1rem/1 var(--serif); color: var(--marine); background: #fff; }
.is-style-hd-etapes li::after { content: ""; position: absolute; left: 1.15rem; top: 2.35rem; bottom: .35rem; width: 1px; background: var(--trait); }
.is-style-hd-etapes li:last-child::after { display: none; }
.is-style-hd-etapes li > strong:first-child { display: block; font: 580 1.2rem/1.3 var(--serif); color: var(--marine); margin-bottom: .25rem; }

.is-style-hd-liens { display: flex; flex-wrap: wrap; gap: .6rem; }
.is-style-hd-liens a { display: inline-block; padding: .5rem .85rem; border: 1px solid var(--trait); font-size: .93rem; text-decoration: none; }
.is-style-hd-liens a:hover { border-color: var(--or); }

.is-style-hd-faits { display: grid; border-top: 1px solid var(--trait); }
.is-style-hd-faits li { padding: .9rem 0; border-bottom: 1px solid var(--trait); font-weight: 600; font-size: .96rem; color: var(--marine); }
.is-style-hd-faits li > strong:first-child { display: block; font: italic 400 .95rem/1.4 var(--serif); color: var(--or-fonce); margin-bottom: .2rem; }
@media (min-width: 900px) {
	.is-style-hd-faits { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); border-top: 0; }
	.is-style-hd-faits li { border-bottom: 0; border-left: 1px solid var(--trait); padding: .25rem 1.25rem; }
	.is-style-hd-faits li:first-child { border-left: 0; padding-left: 0; }
}

/* ---------- Échéancier des délais ---------- */
ol.is-style-hd-echeancier { position: relative; display: grid; margin-top: 1.4rem; }
ol.is-style-hd-echeancier::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--or); }
ol.is-style-hd-echeancier::after { content: ""; position: absolute; left: 2px; top: 0; bottom: 0; width: 7px; opacity: .55; background: repeating-linear-gradient(180deg, var(--or) 0 1px, transparent 1px 14px); }
.is-style-hd-echeancier li { position: relative; padding: 0 0 1.4rem 1.6rem; }
.is-style-hd-echeancier li::before { content: ""; position: absolute; left: 0; top: .7rem; width: 18px; height: 2px; background: var(--or); }
.is-style-hd-echeancier a { display: block; color: var(--encre); text-decoration: none; font-size: .92rem; line-height: 1.38; }
.is-style-hd-echeancier strong { display: block; font: 420 clamp(1.55rem, 1rem + 1.3vw, 2.15rem)/1.05 var(--serif); color: var(--marine); margin-bottom: .45rem; }
.is-style-hd-echeancier em { display: block; margin-top: .45rem; font: italic 400 .88rem/1.3 var(--serif); color: var(--or-fonce); }
.is-style-hd-echeancier a:hover { text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: 3px; }
@media (min-width: 900px) {
	ol.is-style-hd-echeancier { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
	ol.is-style-hd-echeancier::before { right: 0; bottom: auto; width: auto; height: 2px; }
	ol.is-style-hd-echeancier::after { top: 2px; right: 0; bottom: auto; width: auto; height: 7px; background: repeating-linear-gradient(90deg, var(--or) 0 1px, transparent 1px 16px); }
	.is-style-hd-echeancier li { padding: 1.5rem 1.25rem 0 0; }
	.is-style-hd-echeancier li::before { top: 0; width: 2px; height: 20px; }
}
.is-style-hd-marine ol.is-style-hd-echeancier::before, .is-style-hd-marine .is-style-hd-echeancier li::before { background: var(--or-clair); }
.is-style-hd-marine ol.is-style-hd-echeancier::after { background: repeating-linear-gradient(180deg, var(--or-clair) 0 1px, transparent 1px 14px); }
@media (min-width: 900px) { .is-style-hd-marine ol.is-style-hd-echeancier::after { background: repeating-linear-gradient(90deg, var(--or-clair) 0 1px, transparent 1px 16px); } }
.is-style-hd-marine .is-style-hd-echeancier a { color: rgba(255, 255, 255, .88); }
.is-style-hd-marine .is-style-hd-echeancier strong { color: #fff; }
.is-style-hd-marine .is-style-hd-echeancier em { color: var(--or-clair); }
/* Le seul mouvement du site : la règle se trace au chargement de l'accueil. */
.hd-accueil-hero ol.is-style-hd-echeancier::before, .hd-accueil-hero ol.is-style-hd-echeancier::after { transform-origin: top; animation: hd-draw-y 1s cubic-bezier(.2, .7, .2, 1) .2s both; }
@media (min-width: 900px) { .hd-accueil-hero ol.is-style-hd-echeancier::before, .hd-accueil-hero ol.is-style-hd-echeancier::after { transform-origin: left; animation-name: hd-draw-x; } }
.hd-accueil-hero .is-style-hd-echeancier li { animation: hd-rise .6s ease-out both; }
.hd-accueil-hero .is-style-hd-echeancier li:nth-child(2) { animation-delay: .54s; }
.hd-accueil-hero .is-style-hd-echeancier li:nth-child(3) { animation-delay: .63s; }
.hd-accueil-hero .is-style-hd-echeancier li:nth-child(4) { animation-delay: .72s; }
.hd-accueil-hero .is-style-hd-echeancier li:nth-child(5) { animation-delay: .81s; }
.hd-accueil-hero .is-style-hd-echeancier li:nth-child(n+6) { animation-delay: .9s; }

/* ---------- Points de vigilance, fiches, grilles ---------- */
.wp-block-group.is-style-hd-vigilance { display: grid; gap: .5rem; background: var(--brume); border-left: 3px solid var(--or); padding: 1.25rem 1.4rem; }
.wp-block-group.is-style-hd-vigilance > * { margin: 0; }
.wp-block-group.is-style-hd-vigilance p:not(.is-style-hd-reference) { color: var(--texte-2); }
@media (min-width: 1100px) {
	.wp-block-group.is-style-hd-vigilance { grid-template-columns: minmax(0, 1fr) 11rem; column-gap: 1.75rem; }
	.wp-block-group.is-style-hd-vigilance > * { grid-column: 1; }
	.wp-block-group.is-style-hd-vigilance > .is-style-hd-reference { grid-column: 2; grid-row: 1 / span 4; align-self: start; border-left: 1px solid var(--trait); padding-left: 1rem; }
}
.wp-block-group.is-style-hd-vigilance + .wp-block-group.is-style-hd-vigilance { margin-top: 1.1rem; }
.wp-block-group.is-style-hd-fiche { background: #fff; border: 1px solid var(--trait); padding: 1.4rem 1.5rem 1.5rem; scroll-margin-top: calc(var(--header) + 1.5rem); }
.wp-block-group.is-style-hd-fiche:target { outline: 3px solid var(--or); outline-offset: 2px; }
.wp-block-group.is-style-hd-fiche > .is-style-hd-delai + h3 { margin-top: .35rem; }
.wp-block-group.is-style-hd-grille { display: grid; gap: 1.25rem; margin-top: 1rem; }
.wp-block-group.is-style-hd-grille > * { margin: 0; }
@media (min-width: 900px) { .wp-block-group.is-style-hd-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Questions fréquentes (bloc « Détails ») ---------- */
.wp-block-details { border-bottom: 1px solid var(--trait); }
:not(.wp-block-details) + .wp-block-details { border-top: 1px solid var(--trait); }
.wp-block-details + .wp-block-details { margin-top: 0; }
.wp-block-details summary { list-style: none; cursor: pointer; position: relative; padding: 1.1rem 2.75rem 1.1rem 0; font: 500 1.16rem/1.4 var(--serif); color: var(--marine); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .3rem; top: 50%; transform: translateY(-50%); font: 400 1.6rem/1 var(--sans); color: var(--or); }
.wp-block-details[open] summary::after { content: "\2013"; }
.wp-block-details > :not(summary) { margin: 0 0 1.25rem; max-width: 68ch; color: var(--texte-2); }

/* ---------- Boutons natifs ---------- */
.wp-block-buttons { gap: .75rem; }
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; gap: .55rem; font: 650 1.04rem/1.2 var(--sans); padding: 1rem 1.5rem; border-radius: 3px; border: 1.5px solid transparent; background: var(--marine); color: #fff; text-decoration: none; }
.wp-block-button .wp-block-button__link:hover { background: var(--marine-700); color: #fff; }
.wp-block-button.is-style-hd-urgent .wp-block-button__link { background: var(--rouge); }
.wp-block-button.is-style-hd-urgent .wp-block-button__link:hover { background: var(--rouge-fonce); }
.wp-block-button.is-style-hd-clair .wp-block-button__link { background: #fff; color: var(--marine); }
.wp-block-button.is-style-hd-contour .wp-block-button__link { background: transparent; color: var(--marine); border-color: var(--marine); }
:is(.is-style-hd-marine, .is-style-hd-entete-sombre) .wp-block-button.is-style-hd-contour .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .6); }

/* ---------- Blocs dynamiques ---------- */
.hd-block-missions .hd-sectionhead, .hd-content .hd-sectionhead { margin-bottom: 1.5rem; }
.wp-block-column .hd-block-missions { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.wp-block-column .hd-block-missions:first-child { margin-top: 0; }
.hd-coordonnees p { margin: 0 0 .75rem; }
.hd-person__bio p { color: var(--texte-2); }
.hd-legal h2 { font-size: 1.35rem; margin-top: 2rem; }
.hd-legal ul { padding-left: 1.3rem; }
.hd-legal li { margin: .35rem 0; }

/* Titres et chapeaux à mesure réduite : alignés à gauche du contenu (et non centrés). */
.is-layout-constrained > h1.wp-block-heading,
.is-layout-constrained > p.is-style-hd-chapeau {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1180px)) / 2)) !important;
	margin-right: auto !important;
}

/* ---------- Équipe : cartes et pages de profil (1.2) ---------- */
.hd-person__photo { display: block; }
.hd-person__name a, .hd-creds__name a { color: inherit; text-decoration: none; }
.hd-person__name a:hover { text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: 4px; }
.hd-creds__name a:hover { text-decoration: underline; text-decoration-color: var(--or-clair); text-underline-offset: 4px; }
.hd-person__more { margin: .75rem 0 0; }
.hd-profile { display: grid; gap: 2.5rem; }
@media (min-width: 900px) {
	.hd-profile { grid-template-columns: 19rem minmax(0, 1fr); gap: 4.5rem; }
	.hd-profile__side { position: sticky; top: calc(var(--header) + 2rem); align-self: start; }
}
.hd-profile__figure { position: relative; margin: 0 14px 1.9rem 0; max-width: 19rem; }
.hd-profile__figure::before { content: ""; position: absolute; inset: 14px -14px -14px 14px; border: 1px solid var(--or); }
.hd-profile__img, .hd-profile__figure .hd-person__mono { position: relative; display: grid; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: var(--marine); }
.hd-profile__domains { color: var(--or-fonce); font-weight: 600; margin: 0 0 1rem; }
.hd-profile__side .hd-infolist { margin: 1rem 0 1.25rem; }
.hd-profile__main .hd-prose { font-size: 1.06rem; }
.hd-profile__subtitle { margin-top: 2.5rem; }
.hd-profile__back { margin-top: 2.5rem; }

/* ---------- Bandeau de consentement aux cookies (1.4) ---------- */
.hd-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; background: #fff; border-top: 3px solid var(--or); box-shadow: 0 -10px 30px rgba(12, 24, 41, .14); padding-block: 1.25rem; max-height: 85vh; overflow-y: auto; }
.hd-consent[hidden] { display: none; }
.hd-consent__inner { display: grid; gap: 1rem 2.5rem; align-items: center; }
@media (min-width: 960px) { .hd-consent__inner { grid-template-columns: minmax(0, 1fr) auto; } }
.hd-consent__title { font: 500 1.2rem/1.3 var(--serif); color: var(--marine); margin: 0 0 .35rem; }
.hd-consent__text p { font-size: .92rem; margin: 0; color: var(--texte-2); }
.hd-consent__prefs { display: grid; gap: .6rem; margin-top: 1rem; }
.hd-consent__prefs[hidden] { display: none; }
.hd-consent__cat { display: flex; gap: .7rem; align-items: flex-start; font-size: .9rem; color: var(--texte-2); cursor: pointer; }
.hd-consent__cat input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--marine); flex: none; }
.hd-consent__cat strong { color: var(--marine); margin-right: .3rem; }
.hd-consent__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.hd-consent__actions .hd-btn[hidden] { display: none; }
.hd-consent__actions .hd-btn { padding: .7rem 1.1rem; font-size: .92rem; }

/* ---------- Note Google (1.4) ---------- */
.hd-rating { display: grid; gap: .5rem; justify-items: start; }
.hd-rating__score { margin: 0; line-height: 1; color: var(--marine); }
.hd-rating__value { font: 450 clamp(3rem, 2rem + 3vw, 4.5rem)/1 var(--serif); }
.hd-rating__max { font: 400 1.4rem/1 var(--serif); color: var(--gris); margin-left: .2rem; }
.hd-rating__stars { --hd-note: 100%; position: relative; display: inline-block; font-size: 1.7rem; line-height: 1; letter-spacing: .12em; }
.hd-rating__stars::before { content: "\2605\2605\2605\2605\2605"; color: var(--trait); }
.hd-rating__stars::after { content: "\2605\2605\2605\2605\2605"; color: var(--or); position: absolute; left: 0; top: 0; width: var(--hd-note); overflow: hidden; white-space: nowrap; }
.hd-rating__count { margin: 0; color: var(--texte-2); }
.hd-rating__links { margin: .75rem 0 0; }

/* ---------- 1.5 : pied de page, barre mobile, contenus externes ---------- */
.hd-footer__note { margin: 1.1rem 0 0; font-size: .9rem; color: rgba(255, 255, 255, .7); }
body.hd-no-mobilebar { padding-bottom: 0; }
.hd-embed__placeholder { background: var(--brume); border: 1px dashed var(--or); padding: 1.5rem; text-align: center; }
.hd-embed__placeholder p { margin: 0 0 .75rem; color: var(--texte-2); }
.hd-embed__placeholder p:last-child { margin: 0; }
.hd-embed.is-loaded .hd-embed__placeholder { display: none; }
.hd-embed__content iframe { max-width: 100%; }

/* ---------- 1.6 : lien de langue, type d'événement ---------- */
.hd-lang { display: inline-flex; align-items: center; justify-content: center; font: 700 .88rem/1 var(--sans); color: var(--marine); text-decoration: none; padding: .55rem .6rem; border: 1px solid var(--trait); border-radius: 3px; }
.hd-lang:hover { border-color: var(--marine); color: var(--marine); }
.hd-matinale__type { font-size: .8rem; font-weight: 650; color: var(--or-fonce); margin: 0 0 .2rem; }

/* ---------- 1.7 : auteur des articles, lettre d'information ---------- */
.hd-authorbox { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1.25rem; align-items: start; margin-top: 2.75rem; padding: 1.5rem; background: var(--brume); border-left: 3px solid var(--or); }
.hd-authorbox__photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--marine); }
.hd-authorbox__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hd-authorbox__photo .hd-person__mono { font-size: 1.5rem; }
.hd-authorbox__label { font-size: .8rem; font-weight: 650; color: var(--or-fonce); margin: 0; }
.hd-authorbox__name { font: 500 1.3rem/1.2 var(--serif); margin: .15rem 0 .2rem; }
.hd-authorbox__name a { color: var(--marine); text-decoration: none; }
.hd-authorbox__role { font-size: .92rem; font-weight: 600; color: var(--marine); margin: 0 0 .5rem; }
.hd-authorbox p { font-size: .95rem; }
.hd-authorbox p:last-child { margin-bottom: 0; }
.hd-lettre { display: grid; gap: 1.5rem 3rem; align-items: center; }
@media (min-width: 900px) { .hd-lettre { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.hd-lettre__text .hd-h3 { margin-bottom: .4rem; }
.hd-lettre__text p { color: var(--texte-2); margin: 0; }
.hd-lettre .hd-form__foot { margin-top: 1rem; }

/* ---------- 1.8 : bloc Onglets ---------- */
.hd-tabs { margin-block: 1.5rem; }
.hd-tabs__list { margin-bottom: 1.5rem; }
.hd-tabs__panel[hidden] { display: none; }
.hd-tabs__panel:focus-visible { outline: 2px solid var(--or); outline-offset: 4px; }
.hd-tabs__panel > :first-child { margin-top: 0; }

/* ---------- 1.10 : haut de l'accueil ---------- */
.hd-creds--simple .hd-creds__figure { max-width: 320px; }
.hd-creds--simple .hd-creds__role { margin-bottom: 0; }

/* Repères du cabinet (dans le bandeau marine). */
.hd-proofs { list-style: none; margin: clamp(2.5rem, 5vw, 3.5rem) 0 0; padding: 1.6rem 0 0; border-top: 1px solid rgba(255, 255, 255, .18); display: grid; gap: 1.5rem 2.5rem; }
@media (min-width: 760px) { .hd-proofs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hd-proof { display: flex; flex-direction: column; gap: .35rem; }
/* Le logo garde ses proportions (sans être étiré par la colonne) et se pose sur une tuile blanche. */
.hd-proof__logo { display: block; align-self: flex-start; flex: none; width: auto; height: 3.4rem; max-width: 100%; object-fit: contain; background: #fff; padding: .3rem .45rem; border-radius: 3px; margin-bottom: .55rem; }
.hd-proof__label { font: 650 .76rem/1.2 var(--sans); letter-spacing: .07em; text-transform: uppercase; color: var(--or-clair); }
.hd-proof__title { font: 450 clamp(1.12rem, 1rem + .35vw, 1.3rem)/1.3 var(--serif); color: #fff; }
.hd-proof__text { font-size: .9rem; line-height: 1.45; color: rgba(255, 255, 255, .74); }

/* Délais de l'employeur. */
.hd-deadlines { background: var(--brume); }
.hd-deadlines__head { max-width: 46rem; margin-bottom: clamp(1.75rem, 4vw, 2.5rem); }
.hd-deadlines__head .hd-lead { margin: .6rem 0 0; }
.hd-deadlines__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 600px) { .hd-deadlines__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px) { .hd-deadlines__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hd-deadline a { display: flex; flex-direction: column; gap: .5rem; height: 100%; padding: 1.4rem 1.4rem 1.2rem; background: #fff; border: 1px solid var(--trait); border-top: 3px solid var(--or); color: inherit; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hd-deadline a:hover, .hd-deadline a:focus-visible { border-color: var(--marine); box-shadow: 0 12px 28px rgba(12, 24, 41, .09); transform: translateY(-2px); }
.hd-deadline__value { font: 450 clamp(2rem, 1.4rem + 1.6vw, 2.7rem)/1 var(--serif); color: var(--marine); }
.hd-deadline__label { font-weight: 600; line-height: 1.4; color: var(--texte, #1d2533); }
.hd-deadline__ref { margin-top: auto; padding-top: .35rem; font: italic .84rem/1.3 var(--serif); color: var(--gris); }
.hd-deadlines__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.hd-deadlines .hd-note { margin: 1rem 0 0; }
@media (prefers-reduced-motion: reduce) { .hd-deadline a { transition: none; } .hd-deadline a:hover, .hd-deadline a:focus-visible { transform: none; } }
/* Petits écrans : cartes des délais sur deux colonnes, plus compactes. */
@media (max-width: 599px) {
	.hd-deadlines__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
	.hd-deadline a { gap: .35rem; padding: .95rem .85rem .85rem; }
	.hd-deadline__value { font-size: 1.55rem; }
	.hd-deadline__label { font-size: .86rem; line-height: 1.35; }
	.hd-deadline__ref { font-size: .72rem; }
}

/* Repère avec logo : logo à gauche, textes alignés sur ceux des autres repères. */
.hd-proof--logo { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .9rem; row-gap: .35rem; align-content: start; }
.hd-proof--logo .hd-proof__logo { grid-row: 1 / span 3; margin-bottom: 0; }
.hd-proof--logo > span { grid-column: 2; }
