/* Shared appearance; original companion PNG and retained vector lettering. */
:root{color-scheme:light;background:var(--appearance-bg);--appearance-bg:#faf8f1;--appearance-paper:#fffef9;--appearance-text:#193c2b;--appearance-muted:#536653;--appearance-line:#cbd8c5;--appearance-soft:#e9f0e1;--appearance-action:#2f6344}
:root[data-theme=dark]{color-scheme:dark;--appearance-bg:#14251f;--appearance-paper:#1d332a;--appearance-text:#edf4e7;--appearance-muted:#bdcfbf;--appearance-line:#526d59;--appearance-soft:#294535;--appearance-action:#acd591}

/* Retained B direction: fixed VIO colours, motion only for actual loading. */
:root{--logo-ink:#1C1E26;--logo-coral:#D9582A;--logo-sun:#C98A0C;--logo-sky:#2F7FC8;--logo-lilac:#7A5BD6}
:root[data-theme=dark]{--logo-ink:#F4F1EA;--logo-coral:#FF8A5C;--logo-sun:#FFD166;--logo-sky:#7CC4FF;--logo-lilac:#C3B1FF}
html[data-theme] .live-wordmark{display:inline-block;position:relative;aspect-ratio:605/115;width:139px;height:auto;max-width:none;flex:none;vertical-align:middle;filter:none!important}
html[data-theme] .sidebar-brand .live-wordmark{width:136px}
.live-wordmark::before{content:"";position:absolute;inset:0;background:var(--logo-ink);mask:url('/marque/wordmark-valo.svg') center/contain no-repeat;-webkit-mask:url('/marque/wordmark-valo.svg') center/contain no-repeat}
.live-wordmark-vio{position:absolute;inset:0;mask:url('/marque/wordmark-vio.svg') center/contain no-repeat;-webkit-mask:url('/marque/wordmark-vio.svg') center/contain no-repeat}
.live-wordmark-vio::before{content:"";position:absolute;left:61.355372%;top:0;right:0;bottom:0;background:linear-gradient(90deg,var(--logo-coral),var(--logo-sun),var(--logo-lilac),var(--logo-sky));background-size:100% 100%}
html[data-logo-busy=true] .live-wordmark-vio::before{background-image:linear-gradient(90deg,var(--logo-coral),var(--logo-sun),var(--logo-lilac),var(--logo-sky),var(--logo-coral),var(--logo-sun),var(--logo-lilac),var(--logo-sky));background-size:200% 100%;animation:vio-gradient-slide 1.6s linear infinite}
@keyframes vio-gradient-slide{from{background-position:0% 0}to{background-position:100% 0}}
.entry-logo{text-align:center;margin:0 0 32px}
.brand-vertical{display:inline-flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none}
.brand-vertical>.brand-companion{width:150px;height:160px;object-fit:contain;animation:brand-vio-float 5s ease-in-out infinite}
html[data-theme] .brand-vertical>.live-wordmark{width:220px}
@keyframes brand-vio-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){html[data-theme] .live-wordmark-vio::before,.brand-vertical>.brand-companion{animation:none!important}}
@media print{html[data-theme] .live-wordmark{--logo-ink:#1C1E26;print-color-adjust:exact;-webkit-print-color-adjust:exact}.live-wordmark-vio::before{animation:none!important;background:var(--logo-ink)}.brand-vertical>.brand-companion{animation:none!important}}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;width:auto;min-width:44px;min-height:44px;border:1px solid var(--appearance-line);border-radius:30px;padding:9px 13px;background:var(--appearance-paper);color:var(--appearance-text);font:600 12px system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.theme-toggle[hidden]{display:none!important}.theme-toggle:hover{background:var(--appearance-soft)}.theme-toggle:focus-visible{outline:3px solid #c68b36;outline-offset:4px}.theme-icon{font-size:19px;line-height:1}.appearance-bar{display:flex;justify-content:flex-end;padding:12px 24px 0;max-width:1180px;margin:auto}
body:has(#beta-form) .theme-toggle{background:var(--appearance-paper);color:var(--appearance-text)}
body:has(#beta-form) .theme-toggle:hover{background:var(--appearance-soft)}
html[data-theme=dark] body:has(#beta-form) #beta-form button{background:#acd591;color:#172a1e}
.brand,.site .site-brand{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;flex-shrink:0;text-decoration:none}
.brand-companion{width:47px;height:47px;object-fit:contain;flex:none}.brand-wordmark{width:139px;height:auto;max-width:none;display:block}
.topbar{position:relative}.topbar>.theme-toggle{position:absolute;right:20px;top:16px}.topbar .header-inner{padding-right:120px}.site .site-header .shell{gap:20px}.site .site-brand{gap:7px}.site .desktop-nav{gap:18px}.site .account-links{gap:12px}.site .theme-toggle{margin-left:auto}
.site .companion-intro{display:flex;align-items:center;gap:12px;margin:-35px 0 22px}.site .companion-intro>img{width:clamp(145px,16vw,210px);height:auto;object-fit:contain;filter:drop-shadow(0 12px 18px #193c2b12)}.site .companion-intro .eyebrow{font-size:9px;letter-spacing:.1em}.site .companion-intro p{font-size:20px;font-weight:650;line-height:1.4;letter-spacing:-.025em;margin:10px 0;color:var(--appearance-text)}.site .companion-intro div>span:last-child{font-size:12px;color:var(--appearance-muted)}
.site .feature-card{position:relative;overflow:hidden}.site .card-companion{float:right;width:65px;height:65px;object-fit:contain;margin:-6px -5px 0 8px}.site .feature-card .feature-symbol{background:#dceede;color:#28553b;border-color:#a9caaa}.site .feature-card:nth-child(2) .feature-symbol{background:#dcf0f1;color:#1b6171;border-color:#9ccdd2}.site .feature-card:nth-child(3) .feature-symbol{background:#fff0cd;color:#805315;border-color:#ddc17b}.site .feature-card:nth-child(4) .feature-symbol{background:#ece5f9;color:#65508a;border-color:#bfb0dc}.site .module-companion{float:right;width:88px;height:88px;object-fit:contain;margin:0 0 12px 20px}.site .module:after{content:'';display:block;clear:both}.site .bottom-cta img{width:140px;height:132px}.site .preview-device:nth-of-type(2) .object-icon{background:#dceff2}.site .preview-device:nth-of-type(3) .object-icon{background:#f7e9cd}.site .preview-device:nth-of-type(4) .object-icon{background:#ece5f9}
html[data-theme=dark] body{background:var(--appearance-bg);color:var(--appearance-text);--ink:var(--appearance-text);--muted:var(--appearance-muted);--edge:var(--appearance-line);--green:#417c52;--val-forest:var(--appearance-text);--val-action:var(--appearance-action);--val-sage:var(--appearance-soft);--val-cream:var(--appearance-bg);--val-paper:var(--appearance-paper);--val-line:var(--appearance-line);--val-muted:var(--appearance-muted)}
html[data-theme=dark] .brand-wordmark{filter:invert(1)}
html[data-theme=dark] :is(h1,h2,h3,h4,label,legend){color:var(--appearance-text)}
html[data-theme=dark] :is(p,.subtle,.muted,.field-hint,.eyebrow,.footer-base,footer,.site-footer li a,.companion-caption){color:var(--appearance-muted)}
html[data-theme=dark] :is(.site-header,.topbar,body>header,.site-footer){background:var(--appearance-bg);border-color:var(--appearance-line)}
html[data-theme=dark] :is(.preview,.feature-card,.audience-card,.module,.price-card,.comparison,.nav-links,.stat,.lab-panel,.lab-item,.device-card,.site-card,.card,.journey-card,.welcome-grid article,dialog,#access){background:var(--appearance-paper);color:var(--appearance-text);border-color:var(--appearance-line)}
html[data-theme=dark] :is(.tinted,.bottom-cta,.preview-bar,.companion-note,.badge,.step-number,.comparison>div:last-child,.callout,.companion-banner,.welcome-audience,.sidebar-note){background:var(--appearance-soft);color:var(--appearance-text);border-color:var(--appearance-line)}
html[data-theme=dark] :is(input,select,textarea){background:var(--appearance-bg);color:var(--appearance-text);border-color:var(--appearance-line)}
html[data-theme=dark] :is(.preview-stats div,.preview-device,.preview-cost,.faq details,.trust-line,.footer-base,.detail-line,.filters){border-color:var(--appearance-line)}
html[data-theme=dark] :is(.preview-tabs button,.trust-line,.preview-bar span,.preview-heading p,.preview-device p,.preview-stats div,.price small){color:var(--appearance-muted)}
html[data-theme=dark] .preview-tabs button[aria-selected=true]{background:var(--appearance-soft);border-color:var(--appearance-line);color:var(--appearance-text)}
html[data-theme=dark] :is(.cta.secondary,.button-outline,.button-secondary,.text-button,.card-action,.nav-link){background:var(--appearance-soft);color:var(--appearance-text)!important;border-color:var(--appearance-line)}
html[data-theme=dark] :is(.hero h1 em,.site-brand,.brand,a,.brand span){color:var(--appearance-text)}
html[data-theme=dark] :is(.notice,.welcome-pilot,#beta-status){background:#41391e;color:#f9e5b9;border-color:#8d7847}
html[data-theme=dark] :is(.notice strong,.notice p,.welcome-pilot p){color:#f9e5b9}
html[data-theme=dark] body:has(#beta-form) section{background:var(--appearance-paper);border-color:var(--appearance-line)}
html[data-theme=dark] body:has(#beta-form) :is(p,.eyebrow){color:var(--appearance-muted)}
html[data-theme=dark] body:has(#beta-form) #beta-status{background:var(--appearance-soft);color:var(--appearance-text)}
html[data-theme=dark] .button-primary{background:#acd591;color:#172a1e}html[data-theme=dark] .button-primary:hover{background:#c4e5ae}
@media(max-width:1100px){.site .desktop-nav{gap:12px}.site .site-header .shell{gap:12px}.site .brand-wordmark{width:115px}.site .account-links>a:first-child{display:none}}
@media(max-width:800px){.site .theme-label{display:none}.site .theme-toggle{padding:9px}.site .site-header .shell{gap:10px}.site .companion-intro{margin:0 0 22px;justify-content:center}.site .companion-intro>img{width:170px}.site .site-brand .brand-companion{width:40px;height:40px}.site .site-brand .brand-wordmark{width:112px}.site .hero{padding-top:40px}.topbar .header-inner{padding-right:78px;gap:8px;flex-wrap:wrap;height:auto;min-height:70px}.topbar>.theme-toggle{right:12px}.topbar>.theme-toggle .theme-label{display:none}.topbar .brand-wordmark{width:108px}.topbar .brand-companion{width:38px;height:38px}.topbar:has(.header-inner){height:auto;min-height:70px}.topbar .beta{display:none}}
@media(max-width:420px){.site .site-header .shell{width:calc(100% - 24px);gap:8px;flex-wrap:wrap;padding-block:10px}.site .account-links{display:none}.site .mobile-menu{margin-left:auto}.site .theme-toggle{margin-left:0}.site .companion-intro{gap:5px}.site .companion-intro>img{width:135px}.site .companion-intro p{font-size:18px}.site .companion-intro .eyebrow{font-size:8px}.site .companion-intro div>span:last-child{font-size:11px}.site .module-companion{width:65px;height:65px}.brand-wordmark{width:125px}}

/* Lot 5 : police Outfit de /lab sur toutes les pages hors espace (site public, parcours d’entrée, compte, porte bêta, administration). Plus spécifique que les polices système de site.css, entry.css et vio.css. */
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url('/marque/outfit-400.ttf') format('truetype')}
@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url('/marque/outfit-500.ttf') format('truetype')}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url('/marque/outfit-600.ttf') format('truetype')}
:root[data-theme][lang] body,:root[data-theme][lang] body .site{font-family:Outfit,'Segoe UI',system-ui,sans-serif}
:root[data-theme][lang] body :is(button,input,select,textarea){font-family:inherit}
/* Lot 5 : derniers écarts de couleur hors espace. */
/* Pastille « BÊTA PRIVÉE » de /connexion : texte clair sur fond clair, donc illisible. */
html[data-theme=dark] body .topbar .beta{background:#252A35;color:#B6BAC6!important}
html[data-theme=light] body .topbar .beta{background:#F3EEE4;color:#565B68!important}
/* Lien-bouton « Recevoir mon lien d'accès » : même rendu que les autres boutons principaux. */
html[data-theme] body #login-panel a.button-primary{text-decoration:none;color:#1C1E26!important}
/* Manager : « Déconnexion » restait blanc en thème sombre. */
html[data-theme=dark] body>header #signout{background:#1C2029;color:#F4F1EA;border-color:#333949}
html[data-theme=dark] body>header #signout:hover{background:#252A35}
/* Page bêta : logo sans contour (les anciennes règles « .brand span » en faisaient une pastille) ; la tête de Vio n'est pas répétée au-dessus du grand Vio. */
html[data-theme] body .brand .live-wordmark,html[data-theme] body .brand .live-wordmark-vio{background:none!important;border:0!important;padding:0!important;border-radius:0!important;letter-spacing:normal!important}
html[data-theme] body:has(#beta-form) .brand .brand-companion{display:none}
html[data-theme] body:has(#beta-form) .brand .live-wordmark{width:180px}
