/* Clair/sombre : couleurs de lecture distinctes des couleurs du logo. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;flex-shrink:0;min-height:42px;padding:.55rem 1rem;border:1px solid var(--line);border-radius:99px;background:var(--surface,#172130);color:var(--text);font:600 .875rem/1.3 system-ui;cursor:pointer}.theme-toggle:focus-visible{outline:3px solid #86b5f4;outline-offset:4px}header{flex-wrap:wrap}header nav{margin-left:auto}
:root[data-mode="light"]{color-scheme:light;--bg:#f5f8fd;--surface:#e8eff9;--text:#172b45;--muted:#4d6079;--line:#becddd;--orange:#aa450c;--blue:#2f5384;--color-text:#172b45;--color-background:#f5f8fd}
:root[data-mode="light"] body{background:var(--bg);color:var(--text)}
:root[data-mode="light"] header{background:#f5f8fdf2}
:root[data-mode="light"] .preview{background:#dde8f6;color:#203c61}
:root[data-mode="light"] footer{background:#e8eff9;color:var(--muted)}
:root[data-mode="light"] .statement,:root[data-mode="light"] .ticker{background:#e8eff9}
:root[data-mode="light"] .statement .large-copy,:root[data-mode="light"] .text-link{color:var(--text)}
:root[data-mode="light"] .contact,:root[data-mode="light"] .cta{background:radial-gradient(ellipse at bottom,#c4d9f5,transparent 75%)}
:root[data-mode="light"] .button,:root[data-mode="light"] .filters button[aria-pressed="true"]{background:#ff914d;border-color:#ff914d;color:#182b45}
:root[data-mode="light"] .hero{color:#172b45;background:radial-gradient(ellipse at 82% 38%,#86b5f466,transparent 60%),#eaf1fb}
:root[data-mode="light"] .veil{background:linear-gradient(90deg,#edf3fbe6,#edf3fb33)}
:root[data-mode="light"] .hero-shade{background:linear-gradient(90deg,#eff5fff2 0%,#eff5ffad 45%,#eff5ff10 100%),linear-gradient(0deg,#eff5ffb3,transparent 35%)}
:root[data-mode="light"] .hero-top,:root[data-mode="light"] .hero-bottom,:root[data-mode="light"] .lead,:root[data-mode="light"] .hero-copy>p:not(.eyebrow){color:#203c61}
:root[data-mode="light"] .badge{background:#eff5ffdf;border-color:#8da7c5}
:root[data-mode="light"] .outline,:root[data-mode="light"] .motion-toggle{color:#203c61;border-color:#8197b1;background:#f5f8fddd}
:root[data-mode="light"] .orbit-label,:root[data-mode="light"] .frame-label{color:#2f5384}
:root[data-mode="light"] .close-dialog{color:#203c61;border-color:var(--line)}
/* Les illustrations et aplats de marque gardent leur palette. */
:root[data-mode="light"] .editing .card-art{color:#f4f6fa}
:root[data-mode="light"] .editing .card-art em{color:#ff914d}
:root[data-mode="light"] .motion .card-art,:root[data-mode="light"] .fest .art{background:#ff914d;color:#1b2d46}
:root[data-mode="light"] .immo .art{color:#fff}
:root[data-mode="light"] .immo .art em{color:#ff914d}
@media(max-width:650px){header nav{margin-left:0}header{gap:1rem}.theme-toggle{margin-left:auto}}

/* Commandes compactes et menu mobile. */
.theme-toggle{width:44px;height:44px;min-height:44px;padding:0;font-size:1.35rem;margin-left:0}
.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:99px;background:var(--surface,#172130);color:var(--text);cursor:pointer;padding:10px;flex-shrink:0}
.menu-toggle span{display:block;width:19px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){opacity:0}
.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-toggle:focus-visible{outline:3px solid #86b5f4;outline-offset:4px}
@media(max-width:800px){
 header, .home-page>header{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.6rem}
 header>.brand{margin-right:auto;min-width:0}
 header>.theme-toggle{order:2;margin-left:0}
 header>.menu-toggle{order:3}
 header.mobile-nav-ready>.menu-toggle{display:flex}
 header>nav{order:4;flex-basis:100%;width:100%;margin:0}
 header.mobile-nav-ready>nav{display:none}
 header.mobile-nav-ready.menu-open>nav{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);padding-top:.75rem;margin-top:.4rem}
 header nav ul{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;margin:0;padding:0}
 header nav>a,header nav>a:first-child,header nav>a:nth-child(2),header nav li>a{display:block;padding:.8rem .5rem;font-size:1rem;border:0;border-radius:0;margin:0}
 header nav>a:last-child,header nav li:last-child a{border:0;border-radius:0;padding:.8rem .5rem}
}

/* Navigation persistante : fond opaque dans les deux thèmes. */
body>header{position:sticky;top:0;z-index:20;background:var(--bg);max-height:100svh;overflow-y:auto}
:root[data-mode="light"] body>header{background:var(--bg)}
html{scroll-padding-top:calc(var(--navigation-height, 100px) + 16px)}
.skip:focus{z-index:30}
