/* Animations réservées à la page d’accueil. */
.home-animated .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-animated .nav{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.35}
.home-animated .menu-toggle{font-family:Georgia,'Times New Roman',serif;font-size:14px}
@media(max-width:1080px){.home-animated .nav{font-size:14px}}
@media(max-width:760px){.home-animated .nav{font-size:16px}}
.home-animated .hero-copy{animation:none}
.home-animated .hero-copy>.label{animation:home-arrive .55s ease-out both}
.home-animated .hero-copy>h1{animation:home-arrive .6s .045s ease-out both}
.home-animated .hero-fields{animation:home-arrive .6s .085s ease-out both}
.home-animated .opening-copy{animation:home-arrive .65s .12s ease-out both}
.home-animated .hero-actions{animation:home-arrive .65s .16s ease-out both}
.home-animated .portrait-wrap{animation:home-portrait .75s .13s cubic-bezier(.2,.7,.3,1) both}
@keyframes home-arrive{from{opacity:.08;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes home-portrait{from{opacity:.08;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
.home-animated .home-reveal-pending{opacity:0;transform:translateY(14px)}
.home-animated .home-reveal-ready{animation:home-section .65s var(--home-reveal-delay,0ms) cubic-bezier(.2,.7,.3,1) both}
@keyframes home-section{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

.home-animated .nav a:not(.urgent){position:relative;padding:5px 0}
.home-animated .nav a:not(.urgent)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
.home-animated .nav a[aria-current="location"]:not(.urgent)::after,.home-animated .nav a:not(.urgent):focus-visible::after{transform:scaleX(1)}
.home-animated .nav a[aria-current="location"]{color:#80563f}
.home-animated .nav .urgent[aria-current="location"]{background:#f1e9de}
.home-animated .button,.home-animated .emergency-call,.home-animated .nav .urgent{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.home-animated .text-link{position:relative;border-bottom-color:#cfc0b2;transition:color .25s ease}
.home-animated .text-link::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.home-animated .text-link span,.home-animated .fiche-arrow{transition:transform .3s ease,color .3s ease}
.home-animated .domain h3,.home-animated .publication h3,.home-animated .press-title{position:relative}
.home-animated .domain h3::after,.home-animated .publication h3::after{content:"";position:absolute;left:0;bottom:-8px;width:43px;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .38s ease}
.home-animated .domain,.home-animated .publication,.home-animated .fiche,.home-animated .press-row{transition:border-color .3s ease,color .3s ease}
.home-animated .domain:focus-within h3::after,.home-animated .publication:focus-within h3::after,.home-animated .text-link:focus-visible::after{transform:scaleX(1)}
.home-animated .fiche:focus-visible .fiche-arrow,.home-animated .text-link:focus-visible span{transform:translateX(4px)}
@media(hover:hover) and (pointer:fine){
 .home-animated .nav a:not(.urgent):hover::after,.home-animated .text-link:hover::after,.home-animated .domain:hover h3::after,.home-animated .publication:hover h3::after{transform:scaleX(1)}
 .home-animated .text-link:hover span,.home-animated .fiche:hover .fiche-arrow{transform:translateX(4px)}
 .home-animated .button:hover,.home-animated .emergency-call:hover,.home-animated .nav .urgent:hover{background:#f0e8dc;border-color:#956649;box-shadow:0 4px 12px #a7745b12;transform:translateY(-1px)}
 .home-animated .press-row:hover{color:#80563f;border-bottom-color:#b9957c}
}

/* Le dessin reste intact ; une couche décorative épouse uniquement l’auréole. */
.home-animated .signature-figure{position:relative;isolation:isolate}
.home-animated .signature-figure>img{position:relative;z-index:1}
.halo-effects{position:absolute;z-index:2;pointer-events:none;left:var(--halo-x,27.5%);top:var(--halo-y,15.82%);width:var(--halo-width,14.45%);height:var(--halo-height,20.9%);transform:translate(-50%,-50%)}
.halo-glow,.halo-rim{position:absolute;inset:0;border-radius:50%;opacity:0}
.halo-glow{inset:-28%;background:radial-gradient(ellipse,#fff9d1a8 0%,#e2bd7870 27%,#d3a56436 45%,transparent 70%)}
.halo-rim{background:conic-gradient(from 0deg,transparent 0deg 205deg,#d1a367 233deg,#fffbe7 265deg,#d1a367 284deg,transparent 310deg 360deg);-webkit-mask:radial-gradient(ellipse closest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(ellipse closest-side,transparent calc(100% - 2px),#000 calc(100% - 1px))}
.halo-star{position:absolute;width:7px;height:7px;opacity:0;transform:translate(-50%,-50%) scale(.4);color:#e7c384;filter:drop-shadow(0 0 3px #e1b56da0)}
.halo-star::before,.halo-star::after{content:"";position:absolute;inset:0;background:currentColor;border-radius:50%}
.halo-star::before{left:42%;right:42%}.halo-star::after{top:42%;bottom:42%}
.halo-star-one{left:80%;top:13%}.halo-star-two{left:9%;top:55%;width:5px;height:5px}.halo-star-three{left:72%;top:94%;width:5px;height:5px}
.halo-active .halo-glow{animation:halo-breathe 2.7s .5s ease-in-out both}
.halo-active .halo-rim{animation:halo-orbit 2.8s .5s ease-in-out both}
.halo-active .halo-star-one{animation:halo-twinkle 1.15s .7s ease-in-out both}
.halo-active .halo-star-two{animation:halo-twinkle 1s 1.3s ease-in-out both}
.halo-active .halo-star-three{animation:halo-twinkle 1.1s 1.8s ease-in-out both}
@keyframes halo-breathe{0%,100%{opacity:0;transform:scale(.85)}35%{opacity:.7;transform:scale(1.04)}65%{opacity:.42;transform:scale(1.09)}}
@keyframes halo-orbit{0%{opacity:0;transform:rotate(-50deg)}15%{opacity:.65}55%{opacity:.9}85%{opacity:.4}100%{opacity:0;transform:rotate(270deg)}}
@keyframes halo-twinkle{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-12deg)}45%{opacity:.95;transform:translate(-50%,-50%) scale(1) rotate(0deg)}70%{opacity:.45;transform:translate(-50%,-50%) scale(.8) rotate(8deg)}}
@media(prefers-reduced-motion:reduce){
 .home-animated .home-reveal-pending{opacity:1;transform:none}
 .home-animated .hero-copy>*,.home-animated .portrait-wrap,.home-animated .home-reveal-ready{animation:none!important;opacity:1;transform:none}
 .home-animated .halo-effects{display:none}
 .home-animated .text-link span,.home-animated .fiche-arrow,.home-animated .button,.home-animated .emergency-call,.home-animated .nav .urgent{transform:none!important;transition:none}
}
@media print{
 .home-animated .home-reveal-pending,.home-animated .home-reveal-ready,.home-animated .hero-copy>*{opacity:1!important;transform:none!important;animation:none!important}
 .home-animated .halo-effects{display:none}
}

/* Presse : vignettes compactes et références réunies par événement. */
.home-animated .press-list-illustrated .press-row{grid-template-columns:160px 100px minmax(0,1fr) 166px;gap:24px;align-items:center;padding:21px 0}
.press-thumb{position:relative;display:block;width:160px;height:98px;overflow:hidden;border:1px solid #d7cbbb;background:#fff;padding:0;border-radius:3px;flex-shrink:0}
button.press-thumb{cursor:pointer}
.press-thumb>img{display:block;position:absolute;width:100%;height:100%;object-fit:contain;margin:0}
.press-thumb>img[hidden]{display:none!important}
.press-thumb--conference>img{width:157%;height:auto;max-width:none;left:-26.5%;top:auto;bottom:-16.5%}
.press-thumb--nuit>img{width:307%;height:auto;max-width:none;left:-197%;top:auto;bottom:-8%}
.press-thumb--victor>img:not([hidden]){padding:7px}
.press-zoom{position:absolute;right:5px;bottom:5px;background:#fbf9f5eb;color:#80563f;width:19px;height:19px;border:1px solid #cdb59f;border-radius:50%;font-family:Georgia,serif;font-size:15px;line-height:17px;text-align:center;opacity:.85;transition:opacity .25s ease,transform .25s ease}
.press-meta{display:flex;flex-direction:column;gap:12px}.press-topic{font-size:10px;line-height:1.6;color:var(--bronze)}
.home-animated .press-copy{min-width:0}.home-animated .press-copy .press-title{font-size:21px;line-height:1.4;letter-spacing:0;margin:0}
.press-additional{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:13px}.press-reference{font-size:11px;line-height:1.5;color:var(--muted);border-bottom:1px solid #ccb8a5;padding-bottom:2px}
.press-thumb--text{background:transparent;border-color:var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--serif);font-size:20px;line-height:1.35}.press-thumb--text em{color:var(--bronze)}
.home-animated .press-source{line-height:1.7;overflow-wrap:break-word}.press-thumb:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.press-thumb:hover .press-zoom{opacity:1;transform:scale(1.1)}.press-reference:hover{color:var(--bronze)}}
.press-excerpt-dialog:not([open]){display:none}
.press-excerpt-dialog{width:calc(100% - 40px);max-width:1080px;max-height:90vh;padding:22px;background:var(--paper);color:var(--ink);border:1px solid #c5b49f;border-radius:6px;overflow:auto;box-shadow:0 16px 60px #30354d33}
.press-excerpt-dialog::backdrop{background:#30354d75}
.press-excerpt-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.press-excerpt-top h3{font-size:28px;line-height:1.25}
.press-excerpt-close{font-size:12px;padding:8px 12px;border:1px solid var(--bronze);border-radius:999px;background:transparent;cursor:pointer;white-space:nowrap}
.press-excerpt-caption{margin:15px 0 19px;font-size:13px;color:var(--muted)}
.press-excerpt-images{display:grid;gap:18px;margin-bottom:19px}.press-excerpt-images img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--line);background:#fff}
@media(max-width:1080px){.home-animated .press-list-illustrated .press-row{grid-template-columns:130px 88px minmax(0,1fr) 125px;gap:19px}.press-thumb{width:130px;height:80px}.home-animated .press-copy .press-title{font-size:20px}}
@media(max-width:760px){
 .home-animated .press-list-illustrated .press-row{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"picture meta" "copy copy" "source source";gap:14px 19px;padding:21px 0}
 .press-thumb{grid-area:picture;width:96px;height:64px}.press-meta{grid-area:meta;gap:8px}.press-copy{grid-area:copy}.home-animated .press-source{grid-area:source;text-align:left;font-size:10px}
 .home-animated .press-copy .press-title{font-size:22px;line-height:1.35}.press-additional{gap:10px 17px;margin-top:11px}.press-topic{font-size:10px}.press-thumb--text{font-size:18px}
 .press-excerpt-dialog{width:calc(100% - 24px);padding:15px;max-height:90vh}.press-excerpt-top h3{font-size:24px}.press-excerpt-caption{font-size:12px}.press-excerpt-close{padding:7px 10px}
}
@media print{.press-excerpt-dialog{display:none!important}.press-zoom{display:none}}

/* Ajustements demandés : extrait haut et fiche métier sans vignette décorative. */
.press-thumb>img{top:0;left:0}
.press-thumb--victor>img:not([hidden]){top:0;left:0;object-position:center top}
.press-thumb--conference>img{left:-26.5%;top:auto}
.press-thumb--nuit>img{left:-197%;top:auto}
.home-animated .press-list-illustrated .press-row--interview{grid-template-columns:100px minmax(0,1fr) 166px;padding-left:184px}
@media(max-width:1080px){.home-animated .press-list-illustrated .press-row--interview{grid-template-columns:88px minmax(0,1fr) 125px;padding-left:149px}}
@media(max-width:760px){.home-animated .press-list-illustrated .press-row--interview{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "copy" "source";padding-left:0}}

/* V11 : photographies fournies, cadrage CSS, domaines et crédit éditorial. */
.home-animated .portrait{position:relative}
.home-animated .portrait img{position:absolute;top:0;left:0;width:125%;height:auto;max-width:none;object-fit:initial;object-position:initial}
.home-animated .press-list-illustrated .press-row--interview{grid-template-columns:160px 100px minmax(0,1fr) 166px;padding-left:0}
.press-thumb--interview>img{width:100%;height:100%;object-fit:cover;object-position:center 39%}
.home-animated .press-copy .press-credit{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.press-credit a{border-bottom:1px solid #ccb8a5}
@media(max-width:1080px){.home-animated .press-list-illustrated .press-row--interview{grid-template-columns:130px 88px minmax(0,1fr) 125px}}
@media(max-width:760px){
 .home-animated .portrait{height:430px}
 .home-animated .press-list-illustrated .press-row--interview{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"picture meta" "copy copy" "source source";padding-left:0}
}

.home-animated .opening-copy .hero-fields{margin:0 0 17px;font-size:22px;line-height:1.35}

/* Saint Michel accompagne la presse sans recouvrir les extraits. */
.home-animated .press>.wrap{max-width:1390px}
.press-composition{display:grid;grid-template-columns:190px minmax(0,1fr);gap:34px;align-items:center}
.press-composition>.press-list{min-width:0}
.press-archangel{margin:0;align-self:center;width:100%;pointer-events:none}
.press-archangel img{width:100%;height:auto;object-fit:contain}
@media(max-width:1200px){.press-composition{grid-template-columns:140px minmax(0,1fr);gap:23px}.home-animated .press-list-illustrated .press-row{grid-template-columns:105px 78px minmax(0,1fr) 110px;gap:17px}.home-animated .press-title{font-size:18px}}
@media(max-width:960px){.press-composition{grid-template-columns:100px minmax(0,1fr);gap:20px}.home-animated .press-list-illustrated .press-row{grid-template-columns:80px 68px minmax(0,1fr) 85px;gap:12px}.home-animated .press-source{font-size:9px}}
@media(max-width:760px){.press-composition{grid-template-columns:1fr;gap:20px}.press-archangel{width:115px;justify-self:start}.home-animated .press-list-illustrated .press-row{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"picture meta" "copy copy" "source source";gap:9px 17px}.home-animated .press-title{font-size:22px}.home-animated .press-source{font-size:10px}}
