/* Navigation commune — référence visuelle : Stage Prime. */
.site-header{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.01em;position:sticky;top:0;z-index:2000;background:rgba(5,5,5,.96);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px)}
.site-header__inner{max-width:1440px;margin:auto;padding:26px 48px 20px;display:flex;justify-content:space-between;align-items:center;gap:34px}
.site-brand{display:block;flex-shrink:0;color:#f4f1eb;font-size:clamp(28px,3vw,43px);line-height:1;font-weight:300;letter-spacing:.24em;white-space:nowrap;text-decoration:none}
.site-nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,42px);text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.site-nav a{position:relative;display:block;padding:12px 0;color:#eee8df;text-decoration:none}
.site-nav a:hover,.site-nav a.active{color:#c9823d}
.site-nav a:hover::after,.site-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#c9823d}
.site-nav__group{position:relative}
.site-nav__dropdown{position:absolute;top:100%;left:-18px;min-width:190px;padding:12px 18px;background:#090909;border:1px solid rgba(255,255,255,.12);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}
.site-nav__group:hover .site-nav__dropdown,.site-nav__group:focus-within .site-nav__dropdown{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.site-menu{display:none}
.site-header :focus-visible{outline:2px solid #d89a55;outline-offset:5px}
/* Un seul visuel propre, commun à l'accueil et à Ground State. */
.zj-hero{position:relative;isolation:isolate;overflow:hidden;min-height:520px;background:#050505;border-bottom:1px solid rgba(255,255,255,.12)}
.zj-hero__image{position:absolute;inset:0 0 0 auto;width:67%;height:100%;max-width:none;object-fit:cover;object-position:center}
.zj-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#050505 0%,#050505 27%,rgba(5,5,5,.92) 36%,rgba(5,5,5,.35) 52%,transparent 68%);pointer-events:none}
.zj-hero__content{position:relative;z-index:2;display:flex;align-items:center;max-width:1440px;min-height:520px;margin:auto;padding:70px 48px}
.zj-hero__text{max-width:510px}
.zj-hero h1{margin:20px 0 28px;font-size:clamp(42px,4.2vw,68px);font-weight:300;line-height:1.12;letter-spacing:.08em;text-transform:uppercase}
.zj-hero p{max-width:430px;color:#e4ddd4;font-size:17px;line-height:1.75}
.zj-hero--home,.zj-hero--home .zj-hero__content{min-height:clamp(580px,43vw,700px)}
/* Cartes : visuels lisibles, titres contenus à toutes les largeurs. */
.home-card__image{opacity:1;filter:none}
.home-card::before{background:linear-gradient(180deg,rgba(5,5,5,.02) 0%,rgba(5,5,5,.2) 28%,rgba(5,5,5,.87) 72%,#050505 100%)}
.home-card__content{justify-content:flex-end;max-width:none;padding:210px 28px 38px}
.home-card h2{font-size:clamp(24px,2.3vw,34px);letter-spacing:.06em;overflow-wrap:anywhere}
.home-card p{max-width:38rem}.home-card .btn{align-self:flex-start}
/* Ground State : styles associés au contenu conservé. */
.ground-state-page .main{max-width:1240px;margin:auto;border-inline:1px solid rgba(255,255,255,.12)}
.ground-state-page .content-section{padding:64px 48px;border-bottom:1px solid rgba(255,255,255,.12)}
.ground-state-page .section-kicker{margin-bottom:20px;color:#c9823d;font-size:13px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.ground-state-page h2{margin:0 0 28px;font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:.04em;font-weight:300}
.ground-state-page .content-section p{max-width:850px;color:#d3cbc1;font-size:17px;line-height:1.8}
.ground-state-page .grid-2{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:start}
.ground-state-page .spec-card{border:1px solid rgba(255,255,255,.2);background:#0d0d0d;padding:28px;line-height:1.8}
.ground-state-page .spec-card h3{margin-top:0}.ground-state-page .spec-card ul{padding-left:22px;color:#d3cbc1}
@media(max-width:1100px){.site-header__inner{gap:20px;padding-inline:28px}.site-nav{gap:20px}}
@media(max-width:980px){
.site-header__inner{flex-wrap:wrap;min-height:76px;padding:16px 22px;gap:14px}
.site-brand{font-size:clamp(20px,5.7vw,28px);letter-spacing:.17em}
.site-nav{flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;font-size:14px}
.site-nav a{padding:14px 0}.site-nav>a,.site-nav__group>a{border-bottom:1px solid rgba(255,255,255,.1)}
.site-nav__dropdown{position:static;padding:0 0 6px 18px;border:0;min-width:0;background:transparent;visibility:visible;opacity:1;pointer-events:auto;transform:none}
.site-nav__dropdown a{font-size:14px;color:#c0b7ad}.site-nav a::after{display:none}
.site-header[data-navigation-ready] .site-menu{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:0;color:#f4f1eb;font:inherit;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.site-header[data-navigation-ready] .site-nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:12px 22px 24px;background:#090909;max-height:calc(100dvh - 76px);overflow-y:auto;border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 20px 40px rgba(0,0,0,.5)}
.site-header[data-navigation-ready] .site-nav.is-open{display:flex}.site-menu[aria-expanded="true"]{color:#d89a55}
.zj-hero,.zj-hero--home{min-height:0}.zj-hero__image{width:100%;height:clamp(300px,58vw,470px);object-fit:cover;object-position:center}
.zj-hero::before{background:linear-gradient(180deg,transparent 0,rgba(5,5,5,.1) 210px,#050505 clamp(300px,58vw,470px))}
.zj-hero__content,.zj-hero--home .zj-hero__content{min-height:0;padding:clamp(275px,53vw,420px) 24px 48px}
.zj-hero__text{max-width:650px}.zj-hero h1{font-size:clamp(36px,9vw,58px) !important;letter-spacing:.04em !important;line-height:1.12 !important}.zj-hero p{font-size:16px}
.home-card h2{font-size:clamp(24px,6.5vw,34px) !important;letter-spacing:.04em !important}
.ground-state-page .grid-2{grid-template-columns:1fr;gap:28px}.ground-state-page .content-section{padding:48px 24px}.ground-state-page .main{border:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-nav__dropdown{transition:none}}
