/* Accueil : œuvres en premier, composition éditoriale et repères d’atelier. */
.hdr-home-page main { container-type: inline-size; }
.hdr-home-page .hdr-kicker { color: var(--hdr-blue); font: 400 .75rem/1.6 ui-monospace,Consolas,monospace; letter-spacing: .03em; display: flex; align-items: baseline; gap: 12px; }
.hdr-home-page .hdr-kicker::before { content: ''; flex: 0 0 28px; height: 2px; background: currentColor; transform: translateY(-3px); }
.hdrh-opening { display: grid; grid-template-columns: .95fr 1.15fr; gap: clamp(32px,4vw,64px); align-items: stretch; padding-block: 40px 56px; }
.hdrh-opening-copy { align-self: center; padding-block: 32px; }
.hdr-home-page .hdrh-opening h1 { font-size: clamp(2.625rem,4.4vw,4.75rem); line-height: 1.035; letter-spacing: -.045em; margin-bottom: 32px; }
.hdrh-opening h1 span { display: block; color: var(--hdr-blue); font: italic 400 1em/1.08 Georgia,serif; letter-spacing: -.025em; margin-block: 8px; }
.hdrh-intro { max-width: 540px; color: var(--hdr-muted); font-size: 1.125rem; line-height: 1.75; }
.hdrh-hero-art { min-height: 660px; position: relative; display: flex; flex-direction: column; margin-right: calc(-1 * (var(--hdr-pad) + max(0px,(100vw - 1600px)/2))); }
@supports (width: 1cqw) { .hdrh-hero-art { margin-right: calc(-1 * (var(--hdr-pad) + max(0px,(100cqw - 1600px)/2))); } }
.hdrh-hero-art figure { position: relative; flex: 1; min-height: 560px; }
.hdrh-hero-art img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.hdrh-art-label { padding: 14px 24px; display: grid; grid-template-columns: 1fr 28px; gap: 4px 16px; background: #f3f5fa; font-size: .875rem; line-height: 1.5; }
.hdrh-art-label > span:first-child { grid-column: 1 / -1; color: var(--hdr-muted); font: 400 .6875rem/1.5 ui-monospace,Consolas,monospace; }
.hdrh-art-label > span:last-child { grid-column: 2; grid-row: 2; color: var(--hdr-blue); }
.hdrh-art-label:hover { color: var(--hdr-blue); }
.hdrh-signature { background: var(--hdr-blue); color: #fff; }
.hdrh-signature > .hdr-shell { display: flex; justify-content: space-between; gap: 24px; padding-block: 26px; }
.hdrh-signature span { font: italic 400 clamp(1.5rem,3vw,2.75rem)/1.2 Georgia,serif; }
.hdrh-signature span:last-child { font-family: Arial,Helvetica,sans-serif; font-style: normal; letter-spacing: -.045em; }
.hdrh-section { padding-block: clamp(56px,6vw,96px); }
.hdrh-section h2 { font-size: clamp(2rem,3.1vw,3.125rem) !important; line-height: 1.13 !important; max-width: 920px; margin-bottom: 28px !important; text-wrap: balance; }
.hdrh-section p { margin-bottom: 20px; color: var(--hdr-muted); }
.hdrh-section h3 { font: italic 400 clamp(1.5rem,2vw,1.875rem)/1.3 Georgia,serif; margin-bottom: 14px; letter-spacing: -.015em; }
.hdrh-section-heading { max-width: 960px; margin-bottom: 40px; }
.hdrh-section-heading > p:last-child { max-width: 780px; }
.hdrh-services-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 40px 32px; }
.hdrh-service-card { grid-column: span 2; min-width: 0; border-top: 1px solid var(--hdr-line); padding-top: 16px; }
.hdrh-service-card:nth-child(-n+2),.hdrh-service-card:nth-last-child(-n+2) { grid-column: span 3; }
.hdrh-number { display: block; color: var(--hdr-blue); font: 400 .75rem/1.5 ui-monospace,Consolas,monospace; margin-bottom: 16px; }
.hdrh-service-photo { display: block; margin-bottom: 24px; overflow: hidden; }
.hdrh-service-photo img { width: 100%; aspect-ratio: 16/9; height: auto; object-fit: cover; }
.hdrh-service-card:nth-child(-n+2) .hdrh-service-photo img { aspect-ratio: 16/10; }
.hdrh-service-card .hdra-column { padding: 0; }
.hdrh-service-card h3 a { text-decoration: none; }
.hdrh-service-card h3 a:hover { color: var(--hdr-blue); text-decoration: underline; text-underline-offset: 5px; }
.hdrh-service-card p { font-size: .9375rem; margin: 0; }
.hdrh-projects { background: #f3f5fa; }
.hdrh-all-projects { margin-top: 40px; }
.hdrh-approach > .hdr-shell > .hdra-group { display: grid; grid-template-columns: .8fr 1.2fr; gap: 0 clamp(32px,5vw,80px); }
.hdrh-approach h2 { grid-column: 1; grid-row: 1 / 7; }
.hdrh-approach p,.hdrh-approach .hdrh-buttons { grid-column: 2; }
.hdrh-approach p:first-of-type { color: var(--hdr-ink); font-size: 1.125rem; }
.hdr-home-page .hdrh-buttons .hdr-text-link { display: inline-flex; align-items: center; min-height: 44px; border-bottom: 1px solid currentColor; color: var(--hdr-blue); padding: 8px 0; background: transparent; border-radius: 0; font-size: .9375rem; }
.hdrh-process { background: var(--hdr-ink); }
.hdrh-process h2,.hdrh-process h3 { color: #fff !important; }
.hdrh-process p { color: #dce0e8; }
.hdrh-process .hdra-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; counter-reset: hdrh-step; margin-block: 40px; }
.hdrh-process .hdra-column { position: relative; border-top: 1px solid #ffffff40; padding-top: 24px; }
.hdrh-process .hdra-column::before { counter-increment: hdrh-step; content: counter(hdrh-step,decimal-leading-zero); display: block; margin-bottom: 24px; color: var(--hdr-accent-light); font: 400 .8125rem/1.5 ui-monospace,Consolas,monospace; }
.hdr-home-page .hdrh-process .hdrh-buttons .hdr-text-link { color: var(--hdr-accent-light); }
.hdrh-testimonials { background: #f3f5fa; }
.hdr-home-page .hd-testimonials { --hd-testimonials-navy: var(--hdr-ink); --hd-testimonials-cyan: var(--hdr-blue); --hd-testimonials-muted: var(--hdr-muted); width: 100%; max-width: 100%; margin: 0; padding: 0; left: auto; right: auto; transform: none; background: transparent; }
.hdr-home-page .hd-testimonials__inner { width: 100%; max-width: none; margin: 0; padding: 0; }
.hdr-home-page .hd-testimonials__header { max-width: 900px; text-align: left; margin: 0 0 32px; }
.hdr-home-page .hd-testimonials__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.hdr-home-page .hd-testimonial { padding: 24px 0; border-top: 1px solid var(--hdr-line); border-radius: 0; background: transparent; box-shadow: none; }
.hdr-home-page .hd-testimonial__quote { margin: 0 0 24px; padding: 0; border: 0; }
.hdr-home-page .hd-testimonial__quote::before { display: none; }
.hdr-home-page .hd-testimonial__quote p { color: var(--hdr-ink); font-size: 1rem; font-style: normal; }
.hdr-home-page .hd-testimonial__author { color: var(--hdr-ink); font-style: normal; }
.hdr-home-page .hd-related-articles { margin: 0; padding: 0; }
.hdr-home-page .hd-related-articles__heading { text-align: left; margin: 0 0 32px; }
.hdr-home-page .hd-related-articles__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.hdr-home-page .hd-related-article { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.hdr-home-page .hd-related-article__image-link,.hdr-home-page .hd-related-article__image-link img { border-radius: 0; }
.hdr-home-page .hd-related-article__content { padding: 20px 0 0; }
.hdr-home-page .hd-related-articles__kicker,.hdr-home-page .hd-testimonials__kicker,.hdr-home-page .hd-related-article__category { color: var(--hdr-blue); font: 400 .75rem/1.6 ui-monospace,Consolas,monospace; }
.hdr-home-page .hd-related-article__link { color: var(--hdr-blue); }
.hdrh-content { padding-block: 24px 40px; }
.hdrh-content p:empty { display: none; }
@media (max-width: 1100px) {
 .hdrh-services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .hdrh-service-card,.hdrh-service-card:nth-child(-n+2),.hdrh-service-card:nth-last-child(-n+2) { grid-column: auto; }
 .hdrh-service-card:last-child { grid-column: 1 / -1; }
 .hdrh-service-card:last-child .hdrh-service-photo img { max-height: 360px; }
}
@media (max-width: 900px) {
 .hdrh-opening { grid-template-columns: 1fr; gap: 32px; padding-block: 32px; }
 .hdrh-opening-copy { padding: 0; }
 .hdr-home-page .hdrh-opening h1 { font-size: clamp(2.625rem,6.5vw,4rem); max-width: 760px; }
 .hdrh-hero-art { min-height: 0; margin-right: 0; }
 .hdrh-hero-art figure { min-height: 0; }
 .hdrh-hero-art img { position: static; height: auto !important; max-height: 400px; }
 .hdrh-approach > .hdr-shell > .hdra-group { grid-template-columns: 1fr; }
 .hdrh-approach h2,.hdrh-approach p,.hdrh-approach .hdrh-buttons { grid-column: auto; grid-row: auto; }
 .hdr-home-page .hd-testimonials__grid,.hdr-home-page .hd-related-articles__grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 640px) {
 .hdr-home-page .hdrh-opening h1 { font-size: clamp(2.375rem,10vw,3rem); }
 .hdrh-opening .hdr-button { width: 100%; }
 .hdrh-signature > .hdr-shell { flex-wrap: wrap; gap: 12px 24px; padding-block: 24px; }
 .hdrh-signature span { font-size: 1.375rem; }
 .hdrh-signature span:last-child { width: 100%; font-size: 1rem; }
 .hdrh-section { padding-block: 40px; }
 .hdrh-section h2 { font-size: 1.875rem !important; }
 .hdrh-services-grid,.hdrh-process .hdra-columns { grid-template-columns: 1fr; gap: 28px; }
 .hdrh-service-card:last-child { grid-column: auto; }
 .hdrh-hero-art img { max-height: 300px; }
 .hdrh-art-label { padding-inline: 16px; }
}

/* 0.47 — accueil en pleine largeur, introduction indépendante de la photo. */
.hdr-home-page .hdrh-opening { display: block; padding-block: clamp(32px,4vw,56px); }
.hdr-home-page .hdrh-opening-copy { display: grid; grid-template-columns: 1.1fr .9fr; gap: 0 clamp(32px,5vw,80px); align-items: start; padding: 0; }
.hdr-home-page .hdrh-opening-copy > .hdr-kicker { grid-column: 1 / -1; margin-bottom: 20px; }
.hdr-home-page .hdrh-opening h1 { grid-column: 1; grid-row: 2 / 4; max-width: 850px; margin-bottom: 0; }
.hdr-home-page .hdrh-intro { grid-column: 2; grid-row: 2; align-self: end; padding-top: 8px; }
.hdr-home-page .hdrh-opening .hdr-hero-actions { grid-column: 2; grid-row: 3; margin-top: 28px; }
.hdr-home-page .hdrh-hero-art { width: 100%; min-height: 0; margin: 0; position: relative; }
.hdr-home-page .hdrh-hero-art figure { flex: none; min-height: 0; height: clamp(320px,42vw,660px); }
.hdr-home-page .hdrh-hero-art img { position: absolute; inset: 0; width: 100%; height: 100% !important; max-height: none; object-fit: cover; }
.hdr-home-page .hdrh-art-label { position: absolute; right: var(--hdr-pad); bottom: 24px; max-width: min(520px,calc(100% - 48px)); background: #fffffff2; }
@media (max-width: 900px) {
 .hdr-home-page .hdrh-opening-copy { grid-template-columns: 1fr; gap: 0; }
 .hdr-home-page .hdrh-opening-copy > .hdr-kicker,
 .hdr-home-page .hdrh-opening h1,
 .hdr-home-page .hdrh-intro,
 .hdr-home-page .hdrh-opening .hdr-hero-actions { grid-column: auto; grid-row: auto; }
 .hdr-home-page .hdrh-opening h1 { margin-bottom: 24px; }
 .hdr-home-page .hdrh-intro { max-width: 680px; padding-top: 0; }
 .hdr-home-page .hdrh-hero-art figure { height: clamp(280px,50vw,420px); }
}
@media (max-width: 640px) {
 .hdr-home-page .hdrh-hero-art figure { height: clamp(240px,65vw,320px); }
 .hdr-home-page .hdrh-art-label { right: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 10px 14px; font-size: .75rem; }
 .hdr-home-page .hdrh-art-label > span:first-child { font-size: .625rem; }
}

/* 0.48 — ouverture immersive, sélection et animation de l’extension existante. */
.hdr-home-page .hdrh-hero { position: relative; isolation: isolate; min-height: clamp(680px,84svh,920px); display: flex; align-items: center; overflow: hidden; }
.hdr-home-page .hdrh-hero > .hdr-shell { position: relative; z-index: 2; pointer-events: none; }
.hdr-home-page .hdrh-opening { max-width: 680px; padding-block: 56px; }
.hdr-home-page .hdrh-opening-copy { display: block; padding: clamp(28px,3vw,48px); background: #fffffff2; pointer-events: auto; backdrop-filter: blur(8px); }
.hdr-home-page .hdrh-opening h1 { font-size: clamp(2.5rem,3.8vw,4rem); line-height: 1.06; margin-bottom: 24px; }
.hdr-home-page .hdrh-intro { padding: 0; font-size: 1.0625rem; }
.hdr-home-page .hdrh-opening .hdr-hero-actions { margin-top: 28px; }
.hdr-home-page .hdrh-slideshow,
.hdr-home-page .hdrh-hero-art { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; margin: 0; }
.hdr-home-page .hdrh-hero-art figure { height: 100%; }
.hdr-home-page .hdrh-art-label { display: none; }
.hdr-home-page .hdrh-slideshow .hd-hero-background { position: absolute; inset: 0; height: 100%; width: 100%; overflow: hidden; }
.hdr-home-page .hdrh-slideshow .hd-hero-background__overlay { display: none; }
.hdr-home-page .hdrh-slideshow .hd-hero-background__dots { left: auto; right: var(--hdr-pad); bottom: 28px; transform: none; width: auto; padding: 8px 12px; background: #ffffffe8; border-radius: 0; }
.hdr-home-page .hdrh-slideshow .hd-hero-dot { background: #11131850; border-color: transparent; }
.hdr-home-page .hdrh-slideshow .hd-hero-dot.is-active { background: var(--hdr-blue); }
.hdr-home-page .hdrh-slideshow .hd-hero-dot:focus-visible { outline: 2px solid var(--hdr-blue); outline-offset: 4px; }
@media (max-width: 900px) {
 .hdr-home-page .hdrh-hero { min-height: 0; display: flex; flex-direction: column; }
 .hdr-home-page .hdrh-hero > .hdr-shell { order: 2; }
 .hdr-home-page .hdrh-opening { max-width: none; padding-block: 32px; }
 .hdr-home-page .hdrh-opening-copy { padding: 0; background: #fff; backdrop-filter: none; }
 .hdr-home-page .hdrh-slideshow,
 .hdr-home-page .hdrh-hero-art { position: relative; order: 1; height: clamp(280px,48vw,420px); flex: 0 0 auto; }
 .hdr-home-page .hdrh-hero-art img { position: absolute; height: 100% !important; max-height: none; }
 .hdr-home-page .hdrh-slideshow .hd-hero-background__dots { right: 20px; bottom: 16px; }
}
@media (max-width: 640px) {
 .hdr-home-page .hdrh-slideshow,
 .hdr-home-page .hdrh-hero-art { height: clamp(240px,65vw,320px); }
 .hdr-home-page .hdrh-opening h1 { font-size: clamp(2.25rem,9vw,3rem); }
}

/* Accès au journal : bouton cobalt cohérent avec les actions du site. */
.hdr-home-page .hdrh-buttons .hdrh-blog-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 22px; border: 1px solid var(--hdr-blue); border-radius: 0; background: var(--hdr-blue); color: #fff; font: 600 .9375rem/1.45 Arial,Helvetica,sans-serif; text-decoration: none; }
.hdr-home-page .hdrh-buttons .hdrh-blog-button:hover { background: var(--hdr-accent-hover); border-color: var(--hdr-accent-hover); color: #fff; }
@media (max-width: 760px) { .hdr-home-page .hdrh-buttons .hdrh-blog-button { width: 100%; } }

/* 0.72 — Titres des sept univers : noir affirmé et italique cobalt. */
body.hdr-home-page .hdrh-service-card :is(h2,h3,h4) { font: 600 clamp(1.5rem,2vw,1.875rem)/1.25 Arial,Helvetica,sans-serif !important; letter-spacing: -.035em; margin-bottom: 14px !important; }
body.hdr-home-page .hdrh-service-card :is(h2,h3,h4) a { color: var(--hdr-ink); text-decoration: none; }
body.hdr-home-page .hdrh-service-card .hdrh-service-title-main { color: var(--hdr-ink); font: inherit; }
body.hdr-home-page .hdrh-service-card .hdrh-service-title-accent { color: var(--hdr-blue); font: italic 400 1em/1.25 Georgia,'Times New Roman',serif; letter-spacing: -.02em; }
body.hdr-home-page .hdrh-service-card :is(h2,h3,h4) :is(strong,em) { font: inherit; }
body.hdr-home-page .hdrh-service-card :is(h2,h3,h4) a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

/* 0.73 — Les deux voix du titre sur deux lignes rapprochées. */
body.hdr-home-page .hdrh-service-card .hdrh-service-title-main,
body.hdr-home-page .hdrh-service-card .hdrh-service-title-accent { display: block; }
body.hdr-home-page .hdrh-service-card .hdrh-service-title-accent { margin-top: 2px; }
