/* Layout centralisé */
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 88% 8%,rgba(167,21,40,.10),transparent 28%),linear-gradient(135deg,#fff 0%,var(--canvas) 52%,#f4eaec 100%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(circle,var(--brand-300) 1px,transparent 1.2px);background-size:30px 30px;mask-image:linear-gradient(90deg,transparent 25%,#000)}
.site-header{position:sticky;top:0;z-index:1000;height:var(--header-h);background:linear-gradient(105deg,var(--brand-gradient-start),var(--brand-gradient-mid) 58%,var(--brand-gradient-end));color:#fff;box-shadow:0 4px 18px rgba(41,7,15,.22)}.site-header-inner{height:100%;display:flex;align-items:center;gap:22px;max-width:1600px;margin:auto;padding:0 24px}.brand{display:flex;align-items:center;gap:12px;min-width:240px;color:#fff;text-decoration:none}.brand-logo{width:58px;height:44px;display:grid;place-items:center;background:#fff;border-radius:10px;overflow:hidden}.brand-logo img{display:none;width:50px;height:36px;object-fit:contain}.brand-fallback{color:var(--brand-700);font-weight:900;font-size:.48rem;letter-spacing:.015em}.brand-copy strong{display:block;font-size:1.18rem;letter-spacing:.08em}.brand-copy small{display:block;color:rgba(255,255,255,.74);font-size:.7rem}.top-nav{display:flex;align-items:center;gap:4px;overflow:auto;flex:1;height:100%;scrollbar-width:none}.top-nav::-webkit-scrollbar{display:none}.top-nav a{height:44px;display:flex;align-items:center;padding:0 12px;border-radius:10px;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap;font-size:.9rem}.top-nav a:hover,.top-nav a.is-active{background:#fff;color:var(--brand-800)}.header-tools{display:flex;gap:8px}.header-tools a,.menu-toggle{height:42px;display:grid;place-items:center;padding:0 12px;border:1px solid rgba(255,255,255,.26);border-radius:10px;background:transparent;color:#fff;text-decoration:none;font-weight:700}.menu-toggle{display:none;cursor:pointer}
#site-shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:calc(100vh - var(--header-h))}.site-sidebar{position:sticky;top:var(--header-h);align-self:start;height:calc(100vh - var(--header-h));overflow:auto;padding:28px 18px 42px;border-right:1px solid var(--line);background:rgba(255,255,255,.88);backdrop-filter:blur(18px)}.side-home{display:block;margin-bottom:20px;padding:16px;border-radius:14px;background:linear-gradient(135deg,var(--brand-gradient-start),var(--brand-gradient-end));color:#fff;text-decoration:none}.side-home small{display:block;color:rgba(255,255,255,.72)}.side-group{margin:22px 0}.side-group>span{display:block;margin:0 10px 8px;color:var(--ink-400);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.side-group a{display:block;margin:3px 0;padding:10px 12px;border-radius:9px;color:var(--ink-800);text-decoration:none;font-size:.88rem;font-weight:650}.side-group a:hover,.side-group a.is-active{background:var(--brand-100);color:var(--brand-900)}.side-group a.is-active{box-shadow:inset 4px 0 var(--brand-600)}
.page-content{min-width:0;padding:36px clamp(22px,4vw,64px) 84px}.page-hero{position:relative;min-height:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,42%);gap:40px;align-items:center;max-width:var(--content-max);margin:0 auto 40px;padding:clamp(30px,5vw,64px);border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(130deg,var(--brand-gradient-start),var(--brand-gradient-mid) 58%,var(--brand-gradient-end));color:#fff;box-shadow:var(--shadow-lg)}.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 30%,rgba(255,255,255,.18),transparent 28%),repeating-linear-gradient(125deg,transparent 0 36px,rgba(255,255,255,.025) 36px 38px)}.page-hero-copy,.page-hero-art{position:relative;z-index:1}.page-hero .eyebrow{color:#fff}.page-hero h1{margin:8px 0 14px;font-size:clamp(2.4rem,5.5vw,5rem);letter-spacing:-.035em}.page-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.88);font-size:clamp(1.05rem,2vw,1.35rem)}.page-hero-art{margin:0}.page-hero-art img{width:100%;max-height:270px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.28))}.content-flow{max-width:var(--content-max);margin:auto}.content-flow> :first-child{margin-top:0}
.site-footer{padding:32px 24px;border-top:1px solid var(--line);background:var(--brand-950);color:rgba(255,255,255,.76)}.site-footer-inner{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.site-footer strong{color:#fff}.back-to-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border:0;border-radius:50%;background:var(--brand-700);color:#fff;box-shadow:var(--shadow-md);cursor:pointer;opacity:0;transform:translateY(12px);transition:.2s}.back-to-top.is-visible{opacity:1;transform:none}
body[data-layout="landing"] #site-shell{grid-template-columns:1fr}body[data-layout="landing"] #site-sidebar{display:none}body[data-layout="landing"] .page-content{padding-top:42px}body[data-layout="presentation"] .site-sidebar{display:none}body[data-layout="presentation"] #site-shell{grid-template-columns:1fr}

/* V32 — Survols de marque lisibles et hiérarchie du menu */
.brand{padding:5px 8px;margin-left:-8px;border-radius:12px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.brand:hover,.brand:focus-visible{color:#fff;background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transform:translateY(-1px);outline:none}
.brand:hover .brand-copy strong,.brand:hover .brand-copy small,.brand:focus-visible .brand-copy strong,.brand:focus-visible .brand-copy small{color:#fff}
.side-home{transition:filter .18s ease,transform .18s ease,box-shadow .18s ease}
.side-home:hover,.side-home:focus-visible{color:#fff;filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--shadow-sm);outline:none}
.side-home:hover strong,.side-home:hover small,.side-home:focus-visible strong,.side-home:focus-visible small{color:#fff}
.side-group>span{color:var(--brand-600)}
.side-group a{position:relative;margin-left:10px;padding-left:20px;border-left:2px solid var(--brand-100)}
.side-group a::before{content:"";position:absolute;left:8px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--brand-300);transform:translate(-50%,-50%);transition:.18s}
.side-group a:hover,.side-group a.is-active{border-left-color:var(--brand-600)}
.side-group a:hover::before,.side-group a.is-active::before{background:var(--brand-600);box-shadow:0 0 0 4px var(--brand-100)}
.side-group a.is-active{box-shadow:none}
@media(max-width:1120px){.brand-copy small{display:none}.brand{min-width:150px}.top-nav a{padding-inline:9px;font-size:.82rem}}
@media(max-width:900px){.menu-toggle{display:grid}.top-nav{display:none}.header-tools{margin-left:auto}#site-shell{grid-template-columns:1fr}.site-sidebar{position:fixed;z-index:900;left:0;top:var(--header-h);width:min(88vw,340px);transform:translateX(-105%);transition:.25s;box-shadow:var(--shadow-lg)}body.nav-open .site-sidebar{transform:none}.page-content{padding-inline:16px}.page-hero{grid-template-columns:1fr;min-height:auto;padding:34px 24px}.page-hero-art{display:none}.brand{min-width:0}.brand-copy small{display:none}.header-tools a{display:none}}

/* Correctif V31 — navigation mobile tactile et accessible */
.nav-overlay{display:none}
.sidebar-mobile-head,.mobile-space-nav{display:none}
@media(max-width:900px){
  html.nav-open,body.nav-open{overflow:hidden;overscroll-behavior:none}
  .site-header{position:sticky;z-index:1200}
  .site-header-inner{padding-inline:14px;gap:10px}
  .brand-logo{width:50px;height:40px}.brand-logo img{width:44px;height:32px}
  .menu-toggle{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;min-width:46px;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .menu-toggle span{display:block;width:22px;height:2px;border-radius:3px;background:currentColor;transition:transform .22s ease,opacity .18s ease}
  body.nav-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .menu-toggle span:nth-child(2){opacity:0}
  body.nav-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  #site-sidebar{display:block;position:relative;z-index:1100}
  body[data-layout="landing"] #site-sidebar{display:block}
  body[data-layout="presentation"] .site-sidebar{display:block}
  .site-sidebar{display:block;z-index:1110;top:var(--header-h);height:calc(100dvh - var(--header-h));max-height:calc(100dvh - var(--header-h));padding:14px 16px 34px;background:#fff;transform:translate3d(-105%,0,0);will-change:transform;visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;box-shadow:18px 0 42px rgba(30,6,12,.28);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  body.nav-open .site-sidebar{transform:translate3d(0,0,0);visibility:visible;transition:transform .25s ease,visibility 0s}
  .nav-overlay{position:fixed;display:block;z-index:1090;inset:var(--header-h) 0 0;border:0;padding:0;background:rgba(24,5,10,.52);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .22s ease;touch-action:manipulation}
  body.nav-open .nav-overlay{opacity:1;pointer-events:auto}
  .nav-overlay[hidden]{display:block}
  .sidebar-mobile-head{position:sticky;top:-14px;z-index:3;display:flex;align-items:center;justify-content:space-between;margin:-14px -16px 14px;padding:12px 14px;background:#fff;border-bottom:1px solid var(--line)}
  .sidebar-mobile-head strong{color:var(--brand-900);font-size:1rem}
  .sidebar-close{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--brand-050);color:var(--brand-900);font-size:1.65rem;line-height:1;cursor:pointer;touch-action:manipulation}
  .mobile-space-nav{display:block;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
  .mobile-space-title{display:block;margin:0 4px 9px;color:var(--ink-400);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
  .mobile-space-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .mobile-space-grid a{display:flex;align-items:center;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink-800);font-size:.8rem;font-weight:800;text-decoration:none;background:#fff}
  .mobile-space-grid a.is-active{border-color:var(--brand-300);background:var(--brand-100);color:var(--brand-900)}
  .side-home{margin-bottom:16px}
  .side-group{margin:18px 0}
  .side-group a{min-height:44px;display:flex;align-items:center;padding:11px 12px;touch-action:manipulation}
}
@media(max-width:420px){
  .brand-copy strong{font-size:1rem;letter-spacing:.055em}
  .site-sidebar{width:min(92vw,350px)}
}
@media(prefers-reduced-motion:reduce){
  .site-sidebar,.nav-overlay,.menu-toggle span{transition:none!important}
}
