/* CSS critique (rendu hero + LCP) externalise depuis le <style> inline.
   Charge en <link> synchrone dans le <head> pour conserver un rendu identique. */
/* Performance : rendre les sections below-the-fold non-rendues tant qu'invisibles */
main > section:not(.ta-hero){content-visibility:auto;contain-intrinsic-size:1px 900px}
/* Animations composites uniquement (transform/opacity) - evite repaint cher */
#back-to-top{position:fixed;right:18px;bottom:80px;width:42px;height:42px;background:#101010;color:#ffb927;border:2px solid #ffb927;border-radius:50%;opacity:0;transform:translateY(20px);transition:opacity .25s ease,transform .25s ease;cursor:pointer;font-size:18px;z-index:9998;display:flex;align-items:center;justify-content:center;pointer-events:none}
#back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.ta-cookie-banner{transform:translateY(30px);opacity:0;transition:transform .3s ease,opacity .3s ease;will-change:transform,opacity}
.ta-cookie-banner.is-visible{transform:translateY(0);opacity:1}
section.ta-hero{padding:0 !important;margin:0 !important}
.ta-hero{position:relative;width:100%;overflow:hidden;background:#101010}
.ta-hero__img{display:block;width:100%;height:auto;aspect-ratio:1600/500;object-fit:cover;max-height:640px}
.ta-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:1}
.ta-hero__caption{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center !important;padding:0 15px;color:#fff}
.ta-hero__caption h1,.ta-hero__caption p,.ta-hero__caption .cta-subtext{color:#fff !important;text-align:center !important}
.ta-hero__caption h1{font-size:2.6rem !important;line-height:1.2 !important;font-weight:700 !important;margin:0 auto 14px !important;max-width:880px;text-shadow:0 2px 4px rgba(0,0,0,.4);text-transform:none !important}
.ta-hero__caption h1 span{color:#ffb927 !important}
.ta-hero__caption p{font-size:1.4rem !important;line-height:1.55 !important;margin:0 auto 10px !important;padding:6px 14px;max-width:760px;text-shadow:0 1px 3px rgba(0,0,0,.4);font-weight:400 !important}
.ta-hero__breadcrumb{margin:0 auto 16px;font-size:.95rem}
.ta-hero__breadcrumb ol{list-style:none;margin:0;padding:0;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0}
.ta-hero__breadcrumb ol li{display:inline-flex;align-items:center;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.55)}
.ta-hero__breadcrumb ol li a{color:rgba(255,255,255,.9) !important;text-decoration:none !important}
.ta-hero__breadcrumb ol li a:hover{color:#ffb927 !important}
.ta-hero__breadcrumb ol li:not(:last-child)::after{content:"›";margin:0 10px;color:rgba(255,255,255,.7)}
.ta-hero__breadcrumb ol li[aria-current="page"] span{color:#ffb927 !important;font-weight:700}
@media (max-width:991px){.ta-hero__img{aspect-ratio:16/10;max-height:520px}.ta-hero__caption h1{font-size:2rem !important}.ta-hero__caption p{font-size:1.2rem !important}}
@media (max-width:767px){.ta-hero{min-height:clamp(460px,86vh,640px);background:#101010}.ta-hero__img{display:none !important}.ta-hero::after{display:none}.ta-hero__caption{position:absolute;inset:0}.ta-hero__caption h1{font-size:1.55rem !important;margin:0 0 10px !important;text-shadow:none}.ta-hero__caption p{font-size:.95rem !important;margin:0 0 10px !important;padding:6px 10px;line-height:1.45 !important}.ta-hero__breadcrumb{font-size:.8rem;margin:0 auto 10px}.ta-hero__breadcrumb ol li:not(:last-child)::after{margin:0 6px}}
