/* COSMOLOGIX Horizon V2 — couche commune adaptée aux gabarits inventoriés.
   Les règles historiques de structure restent en place. Aucun endpoint modifié. */
@font-face{font-family:Inter;src:url('/assets/refonte-20261025/fonts/inter-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/refonte-20261025/fonts/inter-latin-500-normal.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/refonte-20261025/fonts/inter-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600 900;font-display:swap}
body.cx-horizon{
 --cx-bg:#050a12;--cx-bg-alt:#08111f;--cx-surface:#0b1626;--cx-raised:#122238;--cx-text:#f4f7fb;--cx-secondary:#b8c6d8;--cx-muted:#92a6be;--cx-blue:#4dabff;--cx-link:#8bcbff;--cx-primary:#1d67d9;--cx-control:#738aa5;--cx-rule:rgba(184,198,216,.18);--cx-font:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
 --cosmo-paper:var(--cx-bg);--cosmo-ink:var(--cx-text);--cosmo-slate:var(--cx-secondary);--cosmo-white:var(--cx-surface);--cosmo-blue:var(--cx-link);--cosmo-mist:var(--cx-bg-alt);--cosmo-rule:var(--cx-rule);--cosmo-font:var(--cx-font);--cosmo-light:var(--cx-link);--cosmo-hover:var(--cx-raised);
 --paper:var(--cx-bg);--ink:var(--cx-text);--muted:var(--cx-secondary);--navy:var(--cx-bg-alt);--navy2:var(--cx-surface);--white:var(--cx-text);--slate:var(--cx-surface);--tint:var(--cx-bg-alt);--line:var(--cx-rule);--line2:var(--cx-rule);--steel:var(--cx-link);--ice:var(--cx-link);--soft:var(--cx-raised);--black:var(--cx-bg);--night:var(--cx-bg-alt);--silver:var(--cx-secondary);--blue:var(--cx-link);--max:1360px;
 margin:0;background:var(--cx-bg)!important;color:var(--cx-text)!important;font:400 1rem/1.65 var(--cx-font)!important;color-scheme:dark;overflow-wrap:break-word
}
body.cx-horizon *,body.cx-horizon *::before,body.cx-horizon *::after{box-sizing:border-box}
body.cx-horizon [hidden]{display:none!important}
body.cx-horizon :is(h1,h2,h3,h4,p){margin-top:0}
body.cx-horizon :is(a,button,input,select,textarea,summary){font-family:var(--cx-font)!important;scroll-margin-block:6rem}
body.cx-horizon :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--cx-link)!important;outline-offset:4px!important}
body.cx-horizon a{color:var(--cx-link);text-underline-offset:4px}
body.cx-horizon button{cursor:pointer}
body.cx-horizon button:disabled{opacity:.55;cursor:not-allowed}
body.cx-horizon :is(.wrap,.rx-wrap,.v2-wrap,.cx-si-wrap){width:min(1360px,calc(100% - 80px));max-width:1360px;margin-inline:auto}
body.cx-horizon :is(.v2-header,.v2-footer){font-family:var(--cx-font);background:#03070d;color:var(--cx-secondary)}
body.cx-horizon .v2-header{border-bottom:1px solid var(--cx-rule);position:relative;z-index:20}
body.cx-horizon .v2-navrow{min-height:88px;padding:18px 40px;gap:26px;max-width:1440px}
body.cx-horizon .v2-logo{width:250px;flex:0 0 auto;padding:8px 0}
body.cx-horizon .v2-logo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:none;mix-blend-mode:normal}
body.cx-horizon .v2-nav{gap:24px;font-size:.9375rem}
body.cx-horizon .v2-nav a{color:var(--cx-text);min-height:44px;display:flex;align-items:center}
body.cx-horizon .v2-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--cx-blue);text-underline-offset:8px}
body.cx-horizon .v2-nav .v2-contact{border:1px solid var(--cx-control);border-radius:999px;padding:10px 20px;white-space:nowrap}
body.cx-horizon .v2-nav .v2-contact:hover{background:var(--cx-raised)}
body.cx-horizon .v2-menu{border-radius:999px;min-height:44px;border-color:var(--cx-control);font-size:.9375rem}
body.cx-horizon .v2-skip{font:600 1rem var(--cx-font);border-radius:8px}
body.cx-horizon .v2-footer{padding:56px 0 36px;border-top:1px solid var(--cx-rule);font-size:.875rem}
body.cx-horizon .v2-footer img{width:250px;display:block;height:auto;margin:12px 0 22px}
body.cx-horizon .v2-footer a{color:var(--cx-secondary)}
body.cx-horizon .v2-footer-links a{min-height:44px;display:inline-flex;align-items:center}
body.cx-horizon .v2-footer-links{margin-top:20px;gap:10px 24px}
/* Accueil : scène et interface HTML indépendantes. */
body.cx-horizon .v2-hero{padding:58px 0 28px;overflow:visible;border:0;isolation:isolate;background:var(--cx-bg)}
body.cx-horizon .v2-hero::before{display:none}
body.cx-horizon .v2-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,10,18,.64),rgba(5,10,18,.08) 78%),linear-gradient(0deg,#050a12 0%,rgba(5,10,18,.5) 20%,transparent 70%);pointer-events:none}
.cx-horizon-visual{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.cx-horizon-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
body.cx-horizon .v2-hero .v2-eyebrow{font-size:.875rem;letter-spacing:.09em;margin:0 0 22px!important;color:var(--cx-secondary);max-width:650px}
body.cx-horizon .v2-hero h1{font-size:clamp(2.5rem,5.1vw,4.75rem);font-weight:600;line-height:1.07;letter-spacing:-.045em;max-width:760px;margin:0}
body.cx-horizon .v2-hero h1 span{color:#e2eaf4}
body.cx-horizon .cx-horizon-lead{max-width:55ch;color:var(--cx-secondary);font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55;margin:22px 0 0!important}
body.cx-horizon #assistant-cosmologix{max-width:960px;margin:32px auto 0;width:100%;scroll-margin-top:30px}
body.cx-horizon .v2-assistant{border:0;padding:0;max-width:none;margin:0;background:transparent;box-shadow:none}
body.cx-horizon .clx-ai-heading{margin:0 0 10px;display:flex;gap:10px}
body.cx-horizon .clx-ai-heading h2{font-size:.875rem;font-weight:500;letter-spacing:.03em}
body.cx-horizon .clx-ai-symbol{width:7px;height:7px;background:var(--cx-blue);box-shadow:0 0 10px #4dabff66}
body.cx-horizon .clx-ai-form{display:flex;gap:10px;align-items:center;background:rgba(11,22,38,.97);border:1px solid var(--cx-control);border-radius:38px;min-height:72px;padding:8px;box-shadow:0 12px 45px #0005}
body.cx-horizon .clx-ai-form:focus-within{border-color:var(--cx-link);box-shadow:0 0 0 2px #8bcbff55,0 0 26px #4dabff22}
body.cx-horizon .clx-ai-form input{flex:1;width:100%;min-width:0;padding:12px 18px;background:transparent;color:var(--cx-text);border:0;border-radius:28px;font-size:1rem;line-height:1.5}
body.cx-horizon .clx-ai-form input::placeholder{color:var(--cx-secondary);opacity:1}
body.cx-horizon .clx-ai-form button{width:54px;height:54px;flex:0 0 54px;padding:0;background:var(--cx-primary);color:white;border:0;border-radius:50%;font-size:1.5rem;display:grid;place-items:center}
body.cx-horizon .clx-ai-form button:hover:enabled{background:#185ac0}
body.cx-horizon .clx-ai-form button span:first-child{display:inline}
body.cx-horizon .clx-ai-form button span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
body.cx-horizon .clx-ai-privacy{font-size:.875rem!important;line-height:1.5;color:var(--cx-secondary);margin:12px 0 0!important;padding:0 8px;max-width:960px}
body.cx-horizon .clx-ai-subtitle{font-size:.875rem;color:var(--cx-secondary);margin:0 0 10px}
body.cx-horizon .cx-si-home-note{font-size:.875rem;color:var(--cx-secondary);margin-top:14px!important}
body.cx-horizon .clx-ai-thread{max-height:420px;margin-top:18px;overscroll-behavior:contain;scrollbar-gutter:stable}
body.cx-horizon .clx-ai-turn{background:var(--cx-surface);border:1px solid var(--cx-rule);border-radius:16px;padding:20px;margin-bottom:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--cx-text)}
body.cx-horizon .clx-ai-turn--user{background:var(--cx-raised);margin-left:32px}
body.cx-horizon .clx-ai-turn--error{border-color:#bd8290;background:#271b26}
body.cx-horizon .clx-ai-sources{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;white-space:normal}
body.cx-horizon .clx-ai-status:empty{display:none}
body.cx-horizon .clx-ai-status{font-size:.875rem;background:var(--cx-surface);border-radius:10px;padding:8px 14px}
body.cx-horizon .clx-ai-actions button{font:inherit;color:var(--cx-text);border:1px solid var(--cx-control);background:var(--cx-surface);border-radius:999px;min-height:44px;padding:8px 16px}
body.cx-horizon .v2-suggestions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
body.cx-horizon :is(.v2-suggestions button,.v2-filters button){font-size:.875rem;border:1px solid var(--cx-control);border-radius:999px;color:var(--cx-text);background:rgba(8,17,31,.94);min-height:44px;padding:8px 16px;line-height:1.4}
body.cx-horizon :is(.v2-suggestions button:hover,.v2-filters button[aria-pressed=true]){color:var(--cx-text);background:var(--cx-raised);border-color:var(--cx-link)}
.cx-portals{padding:8px 0 44px;background:var(--cx-bg)}
.cx-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.cx-horizon .cx-portal{display:flex;flex-direction:column;position:relative;isolation:isolate;min-width:0;min-height:250px;border:1px solid #36526c;border-radius:18px;overflow:hidden;text-decoration:none;background:var(--cx-surface);padding:100px 22px 22px;color:var(--cx-text);transition:border-color .2s,background-color .2s}
.cx-portal::before{content:'';position:absolute;z-index:-2;inset:0 0 auto;height:180px;background-image:url('/assets/horizon-v2/portals.webp');background-size:300% 200%;background-position:var(--tile-x) var(--tile-y);opacity:.72}
.cx-portal::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0b1626 20%,rgba(11,22,38,.92) 46%,rgba(11,22,38,.12) 100%)}
body.cx-horizon .cx-portal:hover{border-color:var(--cx-link);background:var(--cx-raised)}
.cx-icon{width:30px;height:30px;color:#e6f3ff;flex:none}
body.cx-horizon .cx-portal h2{font-size:1.25rem;line-height:1.25;font-weight:600;letter-spacing:-.02em;margin:12px 0 10px}
body.cx-horizon .cx-portal p{font-size:.9375rem;color:var(--cx-secondary);line-height:1.5;margin:0;padding-right:20px}
.cx-portal-arrow{position:absolute;right:16px;bottom:18px;color:var(--cx-link);font-size:1.3rem}
body.cx-horizon .cx-home-context{font-size:1rem;color:var(--cx-secondary);max-width:75ch;margin:0 auto 32px}
body.cx-horizon .cx-home-context p{margin:0 0 12px}
body.cx-horizon .v2-eyebrow{font-size:.875rem;letter-spacing:.08em;color:var(--cx-muted)}
body.cx-horizon .v2-section{padding:72px 0;border-color:var(--cx-rule)}
body.cx-horizon .v2-section h2{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:600;line-height:1.18;letter-spacing:-.03em}
body.cx-horizon .v2-three{gap:24px}
body.cx-horizon :is(.v2-card,.v2-config){background:var(--cx-surface);border:1px solid var(--cx-rule);border-radius:18px}
body.cx-horizon .v2-card h3{font-size:1.375rem;font-weight:600;margin-top:26px}
body.cx-horizon :is(.v2-card p,.v2-card li,.v2-card a,.v2-config,.v2-section-foot,.v2-special,.v2-meta,.v2-demo p){font-size:.9375rem}
body.cx-horizon .v2-number{font-size:.875rem;letter-spacing:.04em}
body.cx-horizon .v2-button{border-radius:999px;border-color:var(--cx-control);min-height:48px;font-size:.9375rem;color:var(--cx-text);gap:14px}
body.cx-horizon .v2-button.primary{color:white;background:var(--cx-primary);border-color:var(--cx-primary)}
body.cx-horizon .v2-button.primary:hover{background:#185ac0}
body.cx-horizon .v2-univers{border-color:var(--cx-rule);border-radius:18px;overflow:hidden}
body.cx-horizon .v2-univers a{border-color:var(--cx-rule);font-size:1.125rem;color:var(--cx-text)}
body.cx-horizon .v2-univers a span{font-size:.9375rem}
body.cx-horizon .v2-legacy-evidence{background:var(--cx-surface);color:var(--cx-text);border-radius:18px}
/* Mapping des gabarits intérieurs : classes historiques conservées. */
body.cx-horizon.cx-inner main#contenu{background:var(--cx-bg)!important;color:var(--cx-text)!important}
body.cx-horizon.cx-inner main#contenu :is(.section,.rx-sec,.arch-section,.web-section,.cx-si,.contact-next){background:var(--cx-bg)!important;border-color:var(--cx-rule)!important;padding-block:64px}
body.cx-horizon.cx-inner main#contenu :is(.visual-light,.rx-white,.tinted,.arch-tint,.rx-tint,.web-hosting,.cx-si-feature){background:var(--cx-bg-alt)!important}
body.cx-horizon.cx-inner main#contenu :is(.page-intro,.rx-hero,.hero){background:radial-gradient(ellipse at 95% 0,rgba(77,171,255,.14),transparent 60%),var(--cx-bg-alt)!important;color:var(--cx-text)!important;border-bottom:1px solid var(--cx-rule)!important;padding-block:44px 48px;min-height:0}
body.cx-horizon.cx-inner main#contenu :is(h1,h2,h3,h4,strong,dt){color:var(--cx-text)!important;font-weight:600;letter-spacing:-.025em}
body.cx-horizon.cx-inner main#contenu h1{font-size:clamp(2.25rem,4.3vw,3.75rem)!important;line-height:1.1!important;max-width:24ch}
body.cx-horizon.cx-inner main#contenu h2{font-size:clamp(1.75rem,2.7vw,2.5rem);line-height:1.2}
body.cx-horizon.cx-inner main#contenu h3{font-size:1.375rem;line-height:1.3}
body.cx-horizon.cx-inner main#contenu :is(p,li,dd,.small,.scope,.price-note,.overlap-note,.cx-caption,.rx-lead,.arch-lead,.hero-note,.web-note,.family-description,.specialty-description){color:var(--cx-secondary)!important;line-height:1.65}
body.cx-horizon.cx-inner main#contenu :is(.small,.price-note,.cx-caption,.rx-small,.cx-return,.family-meta,.family-summary-price){font-size:.875rem!important}
body.cx-horizon.cx-inner main#contenu :is(a:not(.btn):not(.cx-si-button):not(.rx-btn):not(.rx-btn-dark):not(.cx-dossier-button),.eyebrow,.rx-eyebrow,.rx-kicker,.cx-kicker,.card-num,.web-number,.cx-si-kicker){color:var(--cx-link)!important}
body.cx-horizon.cx-inner main#contenu :is(.card,.feature-box,.rx-card,.arch-door,.web-price-card,.rx-price,.cx-evidence-card,.cx-disclosure,.rx-trial-box,.assistant-tile,.universe-card,.assistant-family,.catalogue-family,.cx-clear-card,.cx-card-inset,.contact-form,.contact-aside,.cx-faq-item,.web-note,.cx-case-metrics>div,.cx-document-invitation){background:var(--cx-surface)!important;border:1px solid var(--cx-rule)!important;border-radius:18px!important;box-shadow:none!important;color:var(--cx-text)!important}
body.cx-horizon.cx-inner main#contenu :is(.rx-dark,.arch-dark,.web-dark,.closing-box,.rx-us,.rx-prompt,.rx-price.on,.rx-tile-all,.rx-stat){background:var(--cx-raised)!important;border-color:var(--cx-rule)!important}
body.cx-horizon.cx-inner main#contenu :is(.btn,.rx-btn,.rx-btn-dark,.cx-si-button,.cx-dossier-button,button[type=submit]){border-radius:999px!important;background:var(--cx-primary)!important;color:white!important;border:1px solid var(--cx-primary)!important;min-height:48px;font-size:.9375rem!important;line-height:1.4}
body.cx-horizon.cx-inner main#contenu :is(.btn,.rx-btn,.rx-btn-dark,.cx-si-button,button[type=submit]):hover{background:#185ac0!important;color:white!important}
body.cx-horizon.cx-inner main#contenu :is(.btn.secondary,.rx-btn-line,.rx-btn-ghost,.cx-clientele-filters button,.cx-faq-filters button){background:var(--cx-surface)!important;border:1px solid var(--cx-control)!important;border-radius:999px!important;color:var(--cx-text)!important;min-height:44px}
body.cx-horizon.cx-inner main#contenu button[aria-pressed=true]{background:var(--cx-raised)!important;border-color:var(--cx-link)!important;box-shadow:inset 0 0 0 1px var(--cx-link)}
body.cx-horizon.cx-inner main#contenu :is(input,textarea,select){background:var(--cx-bg-alt)!important;color:var(--cx-text)!important;border:1px solid var(--cx-control)!important;border-radius:12px!important;font-size:1rem;min-width:0;max-width:100%;min-height:48px}
body.cx-horizon.cx-inner main#contenu :is(input,textarea)::placeholder{color:var(--cx-muted)!important;opacity:1}
body.cx-horizon.cx-inner main#contenu :is(label,legend,summary){color:var(--cx-text)!important}
body.cx-horizon.cx-inner main#contenu :is(input[type=checkbox],input[type=radio]){min-height:20px;min-width:20px;accent-color:var(--cx-primary)}
body.cx-horizon.cx-inner main#contenu :is(table,th,td){border-color:var(--cx-control)!important;color:var(--cx-text)!important}
body.cx-horizon.cx-inner main#contenu :is(th,tr:nth-child(even),.family-body,.assistant-deliverables){background:var(--cx-bg-alt)!important}
body.cx-horizon.cx-inner .legal-prose{max-width:75ch!important;font-size:1rem}
body.cx-horizon.cx-inner .legal-prose h2{margin-top:42px!important}
body.cx-horizon.cx-inner .breadcrumb{font-size:.875rem;color:var(--cx-secondary);flex-wrap:wrap}
body.cx-horizon.cx-inner main.cx-dossier{max-width:1200px;width:calc(100% - 80px);margin:auto;padding:36px 0 64px}
body.cx-horizon.cx-inner main.cx-dossier>.cx-breadcrumb-wrap{width:100%}
body.cx-horizon.cx-inner .cx-detail-grid{align-items:start}
body.cx-horizon.cx-inner .cx-warning{background:#172535!important;color:var(--cx-secondary)!important;border-color:var(--cx-control)!important;border-radius:12px}
body.cx-horizon.cx-inner .cx-downloads a{border-color:var(--cx-control);border-radius:999px}
/* Aperçus : page complète, hauteur bornée, aucune transformation de zoom. */
body.cx-horizon :is(.v2-demo img,.cx-evidence-link>img,.cx-detail-grid img,.cx-document-preview,.cx-home-preview img){display:block;width:100%!important;height:320px!important;max-height:320px!important;max-width:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important;background:#101c2b!important;padding:20px!important;border:1px solid var(--cx-rule)!important;border-radius:14px!important;box-shadow:none!important}
body.cx-horizon .cx-detail-grid img{height:420px!important;max-height:420px!important}
body.cx-horizon .cx-evidence-link{overflow:visible!important}
body.cx-horizon .cx-evidence-link>img{border-radius:18px 18px 0 0!important}
body.cx-horizon .cx-evidence-link>div{padding:22px}
body.cx-horizon .cx-direct-files{padding:0 22px 20px;display:flex;gap:12px;flex-wrap:wrap}
body.cx-horizon .cx-open-document{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font-size:.875rem}
body.cx-horizon .cx-document-invitation{padding:24px}
/* Les maquettes fictives intégrées gardent leur contraste papier et identité. */
body.cx-horizon.cx-inner main#contenu :is(.rx-pg,.wx-page){background:#f8fafc!important;color:#172334!important}
body.cx-horizon.cx-inner main#contenu :is(.rx-pg,.wx-page) :is(h1,h2,h3,h4,strong,b){color:#172334!important}
body.cx-horizon.cx-inner main#contenu :is(.rx-pg,.wx-page) :is(p,li,span){color:#34465a!important}
/* Cadre seulement sur les trois concepts Web fictifs. */
body.cx-demo-frame>.demo{font:400 .875rem/1.5 Inter,system-ui,sans-serif!important;background:#08111f!important;color:#b8c6d8!important;border-bottom:1px solid #738aa5!important;padding:14px 24px!important;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
body.cx-demo-frame>.demo a{color:#8bcbff!important;min-height:44px;display:inline-flex;align-items:center}
body.cx-demo-frame>.demo img{width:170px!important;height:auto!important;max-height:none!important}
@media(min-width:1440px){.cx-portal-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}body.cx-horizon .cx-portal{padding:96px 18px 24px;min-height:286px}.cx-portal::before{height:145px}.cx-portal::after{background:linear-gradient(0deg,#0b1626 31%,rgba(11,22,38,.88) 55%,rgba(11,22,38,.1))}body.cx-horizon .cx-portal h2{font-size:1.125rem}body.cx-horizon .cx-portal p{font-size:.875rem;padding-right:10px}}
@media(max-width:1150px){body.cx-horizon .v2-navrow{gap:20px;padding-inline:32px}body.cx-horizon .v2-logo{width:220px}body.cx-horizon .v2-nav{gap:14px;font-size:.875rem}}
@media(max-width:1000px){body.cx-horizon .v2-menu{display:block}body.cx-horizon .v2-navrow{flex-wrap:wrap;min-height:80px;padding-block:12px}body.cx-horizon .v2-nav{display:none;flex:1 0 100%;flex-direction:column;align-items:stretch;font-size:1rem}body.cx-horizon .v2-nav.open{display:flex}body.cx-horizon .v2-nav a{padding:10px 12px}.cx-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 body.cx-horizon :is(.wrap,.rx-wrap,.v2-wrap,.cx-si-wrap){width:calc(100% - 36px)}
 body.cx-horizon .v2-navrow{min-height:72px;padding:12px 18px;gap:14px}
 body.cx-horizon .v2-logo{width:180px;padding:6px 0}
 body.cx-horizon .v2-hero{padding:30px 0 24px}
 body.cx-horizon .v2-hero>.v2-wrap{display:block}
 body.cx-horizon .v2-hero h1{font-size:clamp(2.25rem,10.5vw,2.75rem)}
 body.cx-horizon .v2-hero .v2-eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.05em;margin-bottom:18px!important;max-width:32ch}
 body.cx-horizon .cx-horizon-lead{font-size:1rem;max-width:32ch;margin-top:18px!important}
 .cx-horizon-visual img{object-position:65% center}
 body.cx-horizon .v2-hero::after{background:linear-gradient(180deg,rgba(5,10,18,.22),rgba(5,10,18,.3) 40%,#050a12),linear-gradient(90deg,rgba(5,10,18,.65),transparent)}
 body.cx-horizon #assistant-cosmologix{margin-top:28px}
 body.cx-horizon .clx-ai-heading h2{font-size:.875rem}
 body.cx-horizon .clx-ai-subtitle{font-size:.875rem;line-height:1.5}
 body.cx-horizon .clx-ai-form{min-height:64px;padding:6px;gap:4px}
 body.cx-horizon .clx-ai-form input{font-size:1rem;padding:10px 12px;width:100px}
 body.cx-horizon .clx-ai-form button{width:48px;height:48px;flex-basis:48px}
 body.cx-horizon .clx-ai-privacy{padding:0;font-size:.875rem!important}
 body.cx-horizon .v2-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
 body.cx-horizon .v2-suggestions button{font-size:.8125rem;padding:10px 8px}
 .cx-portals{padding:10px 0 40px}.cx-portal-grid{grid-template-columns:1fr;gap:16px}
 body.cx-horizon .cx-portal{min-height:220px;padding:70px 22px 24px}.cx-portal::before{height:170px;background-size:300% 200%}
 body.cx-horizon .v2-section,body.cx-horizon.cx-inner main#contenu :is(.section,.rx-sec,.arch-section,.web-section,.cx-si,.contact-next){padding-block:44px}
 body.cx-horizon.cx-inner main#contenu :is(.page-intro,.rx-hero,.hero){padding-block:28px 34px}
 body.cx-horizon .v2-three{grid-template-columns:1fr}
 body.cx-horizon .v2-card{padding:24px}
 body.cx-horizon .v2-footer img{width:200px}
 body.cx-horizon.cx-inner main.cx-dossier{width:calc(100% - 36px);padding:28px 0 44px}
 body.cx-horizon :is(.v2-demo img,.cx-evidence-link>img,.cx-detail-grid img,.cx-document-preview){height:280px!important;max-height:280px!important;padding:16px!important}
 body.cx-horizon.cx-inner main#contenu .cx-case-metrics{grid-template-columns:1fr}
 body.cx-horizon.cx-inner main#contenu :is(.cx-si-two,.contact-grid,.wx-hero-grid){grid-template-columns:1fr}
 body.cx-horizon .v2-legacy-evidence{overflow:auto}
 body.cx-horizon.cx-inner main#contenu .rx-hero-grid{gap:32px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.cx-horizon *,body.cx-horizon *::before,body.cx-horizon *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body.cx-horizon,body.cx-horizon.cx-inner main#contenu{background:white!important;color:#111!important}.cx-horizon-visual,.v2-header,.v2-suggestions{display:none!important}body.cx-horizon main#contenu :is(h1,h2,h3,h4,p,li,a){color:#111!important}}
/* Réglage après inspection du premier écran téléphone : voile renforcé sous le texte. */
@media(max-width:767px){body.cx-horizon .v2-hero::after{background:linear-gradient(180deg,rgba(5,10,18,.2),rgba(5,10,18,.36) 38%,#050a12),linear-gradient(90deg,rgba(5,10,18,.8),rgba(5,10,18,.32))}}
/* Concept NORD : contenu inchangé, grille de formulaire autorisée à rétrécir. */
@media(max-width:767px){body.cx-demo-frame .contact>*{min-width:0}body.cx-demo-frame form{min-width:0;max-width:100%}body.cx-demo-frame :is(input,select,textarea){min-width:0;max-width:100%}}
@media(max-width:767px){body.cx-demo-frame .soumission .grille{grid-template-columns:minmax(0,1fr)}body.cx-demo-frame .grille>*{min-width:0}body.cx-demo-frame form>label{min-width:0}}
/* La hauteur 100% historique du lien masquait les liens de fichiers ajoutés après lui. */
body.cx-horizon .cx-evidence-card{display:flex!important;flex-direction:column!important}
body.cx-horizon .cx-evidence-link{height:auto!important;min-height:0;flex:1;display:flex!important;flex-direction:column!important}
body.cx-horizon .cx-evidence-link>div{flex:1}
body.cx-horizon .cx-direct-files{display:flex!important;flex:0 0 auto!important;position:relative;z-index:1;padding:16px 22px 22px;border-top:1px solid var(--cx-rule)}
body.cx-horizon .cx-direct-files a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
body.cx-horizon.cx-inner main#contenu :is(.cx-table-scroll,table,caption){background:var(--cx-surface)!important;color:var(--cx-text)!important;border-color:var(--cx-rule)!important}
body.cx-horizon.cx-inner main#contenu .cx-downloads a{background:var(--cx-surface)!important;color:var(--cx-text)!important;border:1px solid var(--cx-control)!important}
/* Composants hérités confirmés lors de la revue des captures de chaque famille. */
body.cx-horizon .footer{background:#03070d!important;color:var(--cx-secondary)!important;border-top:1px solid var(--cx-rule)!important;padding:56px 0 36px;font:400 .875rem/1.65 var(--cx-font)}
body.cx-horizon .footer :is(p,a,span){color:var(--cx-secondary)!important}
body.cx-horizon .footer strong{color:var(--cx-text)!important}
body.cx-horizon .footer img{width:250px!important;max-width:100%;height:auto!important;margin-block:12px 22px;filter:none!important;object-fit:contain}
body.cx-horizon .footer-links a{display:inline-flex;align-items:center;min-height:44px}
body.cx-horizon .footer :is(.footer-bottom,.footer-top){border-color:var(--cx-rule)!important}
body.cx-horizon.cx-inner main#contenu :is(.cx-mobile-meeting,.cx-contact-human,.scope-details,.scope-body,.governance-body,.method-sources,.closing){background:var(--cx-surface)!important;border-color:var(--cx-rule)!important;color:var(--cx-secondary)!important}
body.cx-horizon.cx-inner main#contenu .cx-human-name{color:var(--cx-text)!important}
body.cx-horizon .cxa{--cxa-a1:#1d67d9;--cxa-a2:#185ac0;--cxa-ink:var(--cx-text);--cxa-mut:var(--cx-secondary);--cxa-line:var(--cx-control)}
@media(max-width:767px){body.cx-horizon .footer img{width:200px!important}}
/* Audit de surfaces sur les 40 pages COSMOLOGIX : sélecteurs nommés,
   y compris les anciennes règles plus spécifiques de la couche de marque. */
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.rx-sec.rx-paper,.cx-evidence-section){background:var(--cx-bg-alt)!important;color:var(--cx-text)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.cx-about-profile,.demo-input,.demo-output,.sector-example,.case-feature-panel,.rx-assist,.cx-animation-panel,.cxc-kpi,.rx-prop,.rx-prop-etat,.rx-gate,.governance-faq,.client-steps>li,.p24-card,.p24-steps>li,.p24-timing,.p24-form,.preparation-checklist,.cxb-cap){background:var(--cx-surface)!important;color:var(--cx-secondary)!important;border-color:var(--cx-rule)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.fx,.fx-bar,.fx-caption,.cxe,.mv,.mv-bar,.mv-caption,.wx-url,.cxv-nav,.cxv-nav>span){background:var(--cx-bg-alt)!important;color:var(--cx-secondary)!important;border-color:var(--cx-rule)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.sector-filter,.cx-faq-topics a,.cxb-tabs button,.cxb-nav button,.cxv-pied a){background:var(--cx-surface)!important;color:var(--cx-text)!important;border:1px solid var(--cx-control)!important;border-radius:12px;min-height:44px}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.sector-filter,.cx-faq-topics a,.cxb-tabs button,.cxb-nav button):is(:hover,[aria-pressed=true],[aria-selected=true]){background:var(--cx-raised)!important;border-color:var(--cx-link)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.rx-dark,.arch-dark,.web-dark,.closing-box,.rx-price.on) :is(.btn,.rx-btn,.rx-btn-dark){background:var(--cx-primary)!important;border-color:var(--cx-primary)!important;color:#fff!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.rx-dark,.arch-dark,.web-dark,.closing-box,.rx-price.on) :is(.btn,.rx-btn,.rx-btn-dark):hover{background:#185ac0!important;color:#fff!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.rx-dark,.arch-dark,.web-dark,.closing-box,.rx-price.on) :is(.btn.secondary,.rx-btn-line,.rx-btn-ghost){background:var(--cx-surface)!important;color:var(--cx-text)!important;border-color:var(--cx-control)!important}
/* Le petit concept de chalet garde son papier clair et son texte sombre. */
body.cx-brand.cx-horizon.cx-inner main#contenu .wx-page :is(h4,p,span,a){color:#172334!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .wx-page .wx-cta{color:#fff!important;background:#1d67d9!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .cxb-chips button{background:var(--cx-surface)!important;color:var(--cx-text)!important;border-color:var(--cx-control)!important;min-height:44px;font-size:.875rem}
body.cx-brand.cx-horizon.cx-inner main#contenu .cxb-chips button.is-on{background:var(--cx-primary)!important;color:#fff!important}
/* Les anciens noms « mist » et « navy » désignaient aussi des couleurs de texte
   dans les illustrations : mapping explicite pour éviter le sombre sur sombre. */
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.mv-title,.fx-title,.fx-steps li,.mv-steps li){color:var(--cx-secondary)!important;background:var(--cx-surface)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.fx-steps li.on,.mv-steps li.on){color:#fff!important;background:var(--cx-primary)!important;border-color:var(--cx-link)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .fx :is(p,li,h3,h4,strong,span,b){color:var(--cx-text)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .fx :is(.fx-chip,.fx-av){color:#0b1a2c!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .mv:not(.wx) :is(h2,h3,h4,strong,span,b,p){color:var(--cx-text)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .rx-prop :is(span,small,b,dt,dd,p,li){color:var(--cx-secondary)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.cxc,.cxb){--cxc-ink:var(--cx-text);--cxc-mut:var(--cx-secondary);--cxc-a1:var(--cx-link);--cxc-a2:var(--cx-link);--cxb-ink:var(--cx-text);--cxb-mut:var(--cx-secondary);--cxb-line:var(--cx-control)}
body.cx-brand.cx-horizon :is(.mv,.fx){--cosmo-ink:var(--cx-bg-alt);--cosmo-mist:var(--cx-secondary)}
body.cx-brand.cx-horizon .cxa-dot,body.cx-brand.cx-horizon .cxa-dot::before{background:var(--cx-primary)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .cxc-ctl output{color:var(--cx-link)!important}
/* Résultat du balayage des contrastes sur les 40 pages de marque. */
body.cx-brand.cx-horizon .footer *{color:var(--cx-secondary)!important}
body.cx-horizon .skip{background:var(--cx-link)!important;color:var(--cx-bg)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.rx-dark,.arch-dark,.web-dark,.closing-box,.rx-us,.rx-prompt,.rx-price.on) :is(p,li,dd,small){color:var(--cx-secondary)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu :is(.about-services span,.example-disclosure summary span,.cx-faq-topics span,.cx-faq-category-head span,.rx-card span,.rx-price .pr,.p24-full small,.arch-overline,.cx-si-number,.rx-prop-ref,.rx-prop em,.rx-prop i){color:var(--cx-secondary)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .rx-prop-ici b{background:var(--cx-primary)!important;color:#fff!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .cxf-cap b{color:var(--cx-text)!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .cxf-cap b.ok{color:#93e3ba!important}
body.cx-brand.cx-horizon.cx-inner main#contenu .cxb-ls{color:var(--cx-bg)!important}

/* Horizon V2.1 — alignements réels des commandes et conversation continue. */
body.cx-horizon :is(.btn,.rx-btn,.rx-btn-dark,.rx-btn-ghost,.rx-btn-line,.cx-si-button,.cx-dossier-button,.v2-button,.sector-filter,.v2-suggestions button,.v2-filters button,.cx-clientele-filters button,.cx-faq-filters button,.clx-ai-actions button,button[type=submit]:not([data-clx-submit])){display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;vertical-align:middle;gap:.55em;white-space:normal;line-height:1.4!important;height:auto;box-sizing:border-box;padding:12px 20px!important;min-height:48px;font-weight:500}
body.cx-horizon :is(.btn,.rx-btn,.rx-btn-dark,.rx-btn-line,.cx-si-button,.cx-dossier-button,.v2-button) :is(span,strong){line-height:inherit}
body.cx-horizon .clx-ai-heading{align-items:center}
body.cx-horizon .clx-ai-heading h2{margin:0!important;line-height:1.4}
body.cx-horizon .clx-ai-form textarea{flex:1;min-width:0;width:100%;resize:none;min-height:48px;max-height:144px;overflow-y:auto;padding:12px 18px;background:transparent;color:var(--cx-text);border:0;border-radius:24px;font-size:1rem;line-height:24px;box-sizing:border-box}
body.cx-horizon .clx-ai-form textarea::placeholder{color:var(--cx-secondary);opacity:1}
body.cx-horizon .clx-ai-form button{display:flex;align-items:center;justify-content:center;align-self:flex-end;width:54px;height:54px;min-height:54px;padding:0!important;line-height:1;flex:0 0 54px}
body.cx-horizon .clx-ai-form button svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.cx-horizon .clx-ai-thread{max-height:none;overflow:visible;margin:0 0 20px;padding:0;scrollbar-gutter:auto}
body.cx-horizon .clx-ai-exchange{display:flex;flex-direction:column;gap:10px;margin:22px 0;scroll-margin-block-start:28px}
body.cx-horizon .clx-ai-turn{margin:0;padding:16px 20px;white-space:normal;min-width:0;max-width:100%;font-size:1rem;line-height:1.65}
body.cx-horizon .clx-ai-turn--user{align-self:flex-end;max-width:86%;border-radius:20px 20px 5px 20px;background:#152d47}
body.cx-horizon .clx-ai-turn--assistant{align-self:flex-start;width:94%;border-radius:5px 20px 20px 20px;background:#0b1626}
body.cx-horizon .clx-ai-speaker{display:block;font-size:.75rem;font-weight:600;color:#a9d6ff;letter-spacing:.04em;margin-bottom:6px}
body.cx-horizon .clx-ai-message{margin:0!important;color:var(--cx-text)!important;font-size:1rem!important;line-height:1.65!important;white-space:pre-wrap}
body.cx-horizon .clx-ai-sources{gap:8px 18px;margin-top:12px;font-size:.875rem;line-height:1.45}
body.cx-horizon .clx-ai-sources a{display:inline-flex;align-items:center;min-height:32px;color:var(--cx-link);text-underline-offset:4px}
body.cx-horizon .clx-ai-turn.is-pending{color:var(--cx-secondary);opacity:.8}
body.cx-horizon .is-conversing .clx-ai-heading{margin-bottom:18px}
body.cx-horizon .clx-ai-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:18px}
body.cx-horizon #clx-assist [hidden]{display:none!important}
body.cx-horizon .clx-ai-status{margin:8px 0;font-size:.875rem}
body.cx-horizon .cx-horizon-visual{height:850px;max-height:100%}
@media(max-width:620px){body.cx-horizon :is(.btn,.rx-btn,.rx-btn-dark,.rx-btn-ghost,.rx-btn-line,.cx-si-button,.cx-dossier-button,.v2-button){padding:12px 16px!important}body.cx-horizon .v2-suggestions button{padding:10px 8px!important;min-height:44px;font-size:.8125rem}body.cx-horizon .clx-ai-form textarea{padding:12px 10px}body.cx-horizon .clx-ai-form button{width:48px;height:48px;min-height:48px;flex-basis:48px}body.cx-horizon .clx-ai-turn{padding:14px 16px}body.cx-horizon .clx-ai-turn--user{max-width:92%}body.cx-horizon .clx-ai-turn--assistant{width:100%}body.cx-horizon .clx-ai-exchange{gap:8px;margin:18px 0}}
/* Conserver la visibilité responsive du menu et les états masqués. */
body.cx-horizon .v2-menu{display:none!important;align-items:center;justify-content:center;text-align:center}
body.cx-horizon [hidden]{display:none!important}
@media(max-width:1000px){body.cx-horizon .v2-menu{display:inline-flex!important}}

/* V2.2 — entreprise et direction discrète; identité Horizon conservée. */
.cx-company-person{display:grid;grid-template-columns:136px minmax(0,1fr);gap:28px;align-items:start;max-width:850px}
.cx-company-person img{display:block;width:136px;height:auto;border-radius:14px;border:1px solid rgba(180,210,230,.24)}
.cx-company-person h3{margin-top:0}.cx-catalogue-scope{max-width:75ch}
@media(max-width:520px){.cx-company-person{grid-template-columns:1fr;gap:18px}.cx-company-person img{width:112px}}
