/* AXDIA — couche « expérience » (V13).
 *
 * Chrome (logo officiel, recherche, pied de page), Living Background, démo
 * interactive, configurateur, recherche globale, retours produit.
 * Règles : uniquement les jetons existants (--bg, --surface*, --line*, --text,
 * --muted*, --accent*, --axdia-*), aucune nouvelle couleur de marque ; tout est
 * scopé sous .public-shell ; animations limitées à transform/opacity et coupées
 * par prefers-reduced-motion.
 */

/* =====================================================================
   1. Logo officiel — une image par famille de thème
   ===================================================================== */
.public-shell .brand{gap:0;line-height:0}
.public-shell .brand .brand-logo{display:block;height:32px;width:auto;max-width:none}
.public-shell .brand .brand-logo--on-light{display:none}
html[data-theme="light"] .public-shell .brand .brand-logo--on-dark{display:none}
html[data-theme="light"] .public-shell .brand .brand-logo--on-light{display:block}
.public-shell .footer-id .brand .brand-logo{height:30px}
.public-shell .footer-id .footer-legal{font-size:11px;letter-spacing:.04em;color:var(--muted2)}
@media (max-width:760px){.public-shell .nav .brand .brand-logo{height:27px}}

/* =====================================================================
   2. Bouton de recherche globale
   ===================================================================== */
.public-shell .nav-search{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font:600 12px/1 var(--axdia-ui);cursor:pointer}
.public-shell .nav-search:hover{border-color:var(--line2);color:var(--text)}
.public-shell .nav-search span{font-size:15px}
.public-shell .nav-search kbd{font:600 10px/1 var(--axdia-mono);padding:4px 6px;border-radius:6px;border:1px solid var(--line);background:var(--surface2);color:var(--muted2)}
@media (max-width:1180px){.public-shell .nav-search kbd{display:none}.public-shell .nav-search{padding:0 11px}}

/* =====================================================================
   3. Pied de page — 6 colonnes (marque + 5 groupes)
   ===================================================================== */
.public-shell .public-footer-grid{grid-template-columns:1.35fr repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.public-shell .public-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-shell .public-footer-grid .footer-id{grid-column:1/-1}}
@media (max-width:640px){.public-shell .public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =====================================================================
   4. Composition de pages — héros scindé, carte « réponse immédiate »
   ===================================================================== */
.public-shell .hero-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:48px;align-items:end}
.public-shell .answer-card{margin:0;display:grid;gap:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.public-shell .answer-card>div{display:grid;grid-template-columns:104px 1fr;gap:14px;padding:13px 18px;border-top:1px solid var(--line)}
.public-shell .answer-card>div:first-child{border-top:0}
.public-shell .answer-card dt{font:700 10px/1.5 var(--axdia-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted2);padding-top:2px}
.public-shell .answer-card dd{margin:0;font:500 14px/1.5 var(--axdia-ui);color:var(--text)}
@media (max-width:900px){.public-shell .hero-split{grid-template-columns:1fr;gap:28px}}

.public-shell .statement-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.public-shell .statement-split h2{margin:0}
.public-shell .statement-body>p{font:400 17px/1.65 var(--axdia-ui);color:var(--text);margin:0 0 18px}
.public-shell .not-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.public-shell .not-list li{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font:500 13.5px/1.45 var(--axdia-ui);color:var(--muted)}
.public-shell .not-list b{color:var(--text)}
@media (max-width:860px){.public-shell .statement-split{grid-template-columns:1fr;gap:20px}.public-shell .not-list{grid-template-columns:1fr}}

/* =====================================================================
   5. Démo interactive (onglets / étapes) — composant commun
   ===================================================================== */
.public-shell .demo{border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,transparent);padding:14px;position:relative}
.public-shell .demo-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:2px 2px 12px;border-bottom:1px solid var(--line);margin-bottom:18px}
.public-shell .demo-tabs [role="tab"]{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font:600 13px/1 var(--axdia-ui);cursor:pointer;white-space:nowrap}
.public-shell .demo-tabs [role="tab"]:hover{color:var(--text);background:var(--surface2)}
.public-shell .demo-tabs [role="tab"][aria-selected="true"]{color:var(--text);background:var(--surface2);border-color:var(--line2);box-shadow:inset 0 -2px 0 var(--accent2)}
.public-shell .demo-num{font:700 10px/1 var(--axdia-mono);color:var(--muted2)}
.public-shell [aria-selected="true"] .demo-num{color:var(--accent2)}
.public-shell .demo-panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center;padding:6px 6px 8px}
.public-shell .demo--js .demo-panel[hidden]{display:none}
/* JavaScript présent (classe posée dans l'en-tête) : les panneaux inactifs ne sont jamais mis en page ; sans JavaScript, toutes les étapes restent lisibles. */
.js .demo-panel:not([data-active]){display:none}
.public-shell .demo:not(.demo--js) .demo-panel+.demo-panel{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.public-shell .demo-panel[data-active] .demo-stage{animation:demo-in .42s cubic-bezier(.2,.7,.2,1)}
.public-shell .demo-copy h3{font:400 clamp(26px,2.4vw,34px)/1.08 Georgia,serif;letter-spacing:-.02em;margin:6px 0 12px;color:var(--text)}
.public-shell .demo-copy p{font:400 15px/1.65 var(--axdia-ui);color:var(--muted);margin:0 0 14px}
.public-shell .demo-step{font:700 10px/1 var(--axdia-mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2)!important;margin:0!important}
.public-shell .demo-next{background:none;border:0;padding:0;cursor:pointer;font:600 14px/1.4 var(--axdia-ui)}
.public-shell .demo .demo-note{margin:12px 6px 0;font:500 11px/1.4 var(--axdia-mono);letter-spacing:.04em;color:var(--muted2)}
@keyframes demo-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:860px){.public-shell .demo-panel{grid-template-columns:1fr;gap:18px}.public-shell .demo{padding:10px;border-radius:16px}}

/* Fenêtres de maquette (données fictives) */
.public-shell .mock-window{border:1px solid var(--line2);border-radius:14px;background:var(--bg2);box-shadow:var(--shadow2,0 8px 24px rgba(0,0,0,.2));overflow:hidden;font:500 12px/1.45 var(--axdia-ui);color:var(--text);min-width:0}
.public-shell .mock-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface)}
.public-shell .mock-bar i{width:9px;height:9px;border-radius:50%;background:var(--line2)}
.public-shell .mock-bar span{margin-left:8px;font:500 11px/1 var(--axdia-mono);color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-shell .mock-body{padding:14px;min-height:250px}
.public-shell .pc-app{display:grid;grid-template-columns:148px 1fr;gap:14px;min-width:0}
.public-shell .pc-side{display:flex;flex-direction:column;gap:5px;padding-right:12px;border-right:1px solid var(--line);min-width:0}
.public-shell .pc-side b{font-size:13px}.public-shell .pc-side small{font-size:9.5px;color:var(--muted2);margin-bottom:8px}
.public-shell .pc-side span{padding:7px 9px;border-radius:8px;color:var(--muted);font-size:11.5px}
.public-shell .pc-side span.on{background:var(--accent-soft);color:var(--text);box-shadow:inset 2px 0 0 var(--accent2)}
.public-shell .pc-side em{margin-top:auto;font-style:normal;font-size:9.5px;color:var(--muted2)}
.public-shell .pc-main{display:flex;flex-direction:column;gap:9px;min-width:0}
.public-shell .pc-search{padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted2);background:var(--surface)}
.public-shell .pc-kicker{margin:4px 0 0;font:700 9.5px/1 var(--axdia-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent2)}
.public-shell .pc-h{margin:0;font:400 19px/1.15 Georgia,serif;color:var(--text)}
.public-shell .pc-row{display:flex;flex-wrap:wrap;gap:6px}
.public-shell .pc-btn{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line2);border-radius:8px;font-size:11px;color:var(--text);background:var(--surface)}
.public-shell .pc-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.public-shell .pc-chips{display:flex;flex-wrap:wrap;gap:5px}
.public-shell .pc-chips span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:10.5px;color:var(--muted)}
.public-shell .pc-chips span.on{border-color:var(--accent2);color:var(--text)}
.public-shell .pc-card{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;gap:4px}
.public-shell .pc-card small{font-size:10px;color:var(--muted2)}.public-shell .pc-card p{margin:0;color:var(--muted);font-size:11.5px}
.public-shell .pc-progress{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:11px;color:var(--muted)}
.public-shell .pc-progress i{grid-column:1/-1;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--accent2) var(--p),var(--surface3) var(--p))}
.public-shell .pc-field{display:grid;gap:4px}.public-shell .pc-field small{font-size:10.5px;font-weight:700;color:var(--text)}.public-shell .pc-field em{font-style:normal;font-weight:500;color:var(--muted2)}
.public-shell .pc-input{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:11.5px}
.public-shell .pc-input.muted{color:var(--muted2)}
.public-shell .pc-ready{display:inline-block;margin-bottom:9px;padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--green,#70be8d) 16%,transparent);color:var(--text);font:700 10px/1.2 var(--axdia-mono);letter-spacing:.08em}
.public-shell .pc-code{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:500 11.5px/1.6 var(--axdia-mono);white-space:pre-wrap;word-break:break-word;overflow:hidden}
.public-shell .pc-code.short{margin-bottom:10px}
.public-shell .pc-btn.pulse{box-shadow:0 0 0 4px var(--accent-soft)}
.public-shell .pc-toast{margin-top:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:11px;color:var(--muted)}
.public-shell .mock-window.wide .mock-body{padding:0}
.public-shell .pc-vscode{display:grid;grid-template-columns:132px 1fr;min-height:260px}
.public-shell .pc-tree{display:flex;flex-direction:column;gap:5px;padding:12px;border-right:1px solid var(--line);background:var(--surface);font:500 11px/1.3 var(--axdia-mono);color:var(--muted)}
.public-shell .pc-tree small{font-size:9px;letter-spacing:.1em;color:var(--muted2);margin-bottom:4px}
.public-shell .pc-tree .add{color:var(--green,#70be8d)}.public-shell .pc-tree .mod{color:var(--amber,#d6a55e)}
.public-shell .pc-agent{display:flex;flex-direction:column;gap:8px;padding:12px;min-width:0}
.public-shell .pc-agent>small{font:700 9.5px/1.2 var(--axdia-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted2)}
.public-shell .pc-msg{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:11.5px;color:var(--text)}
.public-shell .pc-msg ul,.public-shell .pc-msg ol{margin:6px 0;padding-left:18px;color:var(--muted)}
.public-shell .pc-msg em{display:block;font-style:normal;color:var(--muted2);font-size:10.5px}
.public-shell .pc-msg.user{align-self:flex-end;max-width:88%;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent2) 35%,var(--line));font-family:var(--axdia-mono);font-size:10.5px}
.public-shell .pc-checks{list-style:none;padding:0!important}
@media (max-width:560px){.public-shell .pc-app{grid-template-columns:1fr}.public-shell .pc-side{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px}.public-shell .pc-side small,.public-shell .pc-side em{display:none}.public-shell .pc-vscode{grid-template-columns:1fr}.public-shell .pc-tree{display:none}}

/* =====================================================================
   6. Blocs éditoriaux compacts
   ===================================================================== */
.public-shell .two-ways{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.public-shell .two-ways article{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.public-shell .two-ways h3{margin:6px 0 14px;font:400 26px/1.1 Georgia,serif;color:var(--text)}
.public-shell .flow-chips{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px;counter-reset:fc}
.public-shell .flow-chips li{counter-increment:fc;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;font:500 12.5px/1.3 var(--axdia-ui);color:var(--text);background:var(--bg2)}
.public-shell .flow-chips li::before{content:counter(fc);font:700 10px/1 var(--axdia-mono);color:var(--accent2)}
@media (max-width:760px){.public-shell .two-ways{grid-template-columns:1fr}}

.public-shell .split-sticky{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.public-shell .sticky-col{position:sticky;top:96px}
.public-shell .sticky-col h2{margin:8px 0 14px}
.public-shell .spec-rows{display:grid;border-top:1px solid var(--line)}
.public-shell .spec-rows>div{padding:20px 0;border-bottom:1px solid var(--line)}
.public-shell .spec-rows h3{margin:0 0 6px;font:600 18px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .spec-rows p{margin:0;font:400 15px/1.6 var(--axdia-ui);color:var(--muted)}
@media (max-width:860px){.public-shell .split-sticky{grid-template-columns:1fr;gap:18px}.public-shell .sticky-col{position:static}}

.public-shell .compact-table{width:100%;border-collapse:collapse;font:400 14px/1.5 var(--axdia-ui);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}
.public-shell .compact-table th,.public-shell .compact-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.public-shell .compact-table thead th{font:700 10px/1.4 var(--axdia-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);background:var(--surface2)}
.public-shell .compact-table tbody th,.public-shell .compact-table tfoot th{font-weight:600;color:var(--text);white-space:nowrap}
.public-shell .compact-table td{color:var(--muted)}
.public-shell .compact-table td:nth-child(2){font:600 15px/1.5 var(--axdia-mono);color:var(--text);white-space:nowrap}
.public-shell .compact-table tfoot{background:var(--surface2)}
@media (max-width:640px){.public-shell .compact-table th,.public-shell .compact-table td{padding:10px}.public-shell .compact-table td:last-child{font-size:13px}}

.public-shell .idea-to-mission{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.public-shell .idea-to-mission h2{margin:8px 0 12px}
.public-shell .builder-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.public-shell .builder-cols h3{margin:0 0 8px;font:700 11px/1.3 var(--axdia-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted2)}
.public-shell .dot-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.public-shell .dot-list li{position:relative;padding-left:16px;font:400 14px/1.45 var(--axdia-ui);color:var(--text)}
.public-shell .dot-list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--accent2)}
.public-shell .mission-figure{margin:0;display:grid;gap:10px}
.public-shell .mission-figure figcaption{font:500 14px/1.5 var(--axdia-ui);color:var(--text)}
.public-shell .figure-note{margin:0;font:500 11px/1.4 var(--axdia-mono);color:var(--muted2)}
.public-shell .pill{display:inline-block;padding:3px 9px;border-radius:999px;border:1px solid var(--line2);font:700 10px/1.4 var(--axdia-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 6px 0 0}
@media (max-width:900px){.public-shell .idea-to-mission{grid-template-columns:1fr}}
@media (max-width:520px){.public-shell .builder-cols{grid-template-columns:1fr}}

.public-shell .timeline-v{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:880px}
.public-shell .timeline-v li{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:0 0 22px;position:relative}
.public-shell .timeline-v li::before{content:"";position:absolute;left:21px;top:36px;bottom:0;width:1px;background:var(--line2)}
.public-shell .timeline-v li:last-child::before{display:none}
.public-shell .timeline-v li>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:var(--surface);font:700 12px/1 var(--axdia-mono);color:var(--accent2)}
.public-shell .timeline-v h3{margin:8px 0 4px;font:600 17px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .timeline-v p{margin:0;font:400 14.5px/1.6 var(--axdia-ui);color:var(--muted)}

.public-shell .loop-line{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.public-shell .loop-line li{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:700 11px/1 var(--axdia-mono);letter-spacing:.06em;color:var(--text)}
.public-shell .loop-line li:not(:last-child)::after{content:"→";margin-left:6px;color:var(--muted2)}
.public-shell .loop-line li:last-child{border-color:var(--accent2);color:var(--accent2)}

.public-shell .fact-list{margin:0;display:grid;border-top:1px solid var(--line)}
.public-shell .fact-list>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.public-shell .fact-list dt{font:700 11px/1.5 var(--axdia-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted2)}
.public-shell .fact-list dd{margin:0;font:400 15px/1.55 var(--axdia-ui);color:var(--text)}
@media (max-width:520px){.public-shell .fact-list>div{grid-template-columns:1fr;gap:4px}}

.public-shell .download-block{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:40px;align-items:start}
.public-shell .install-steps{margin:18px 0 0;padding-left:22px;display:grid;gap:10px;font:400 15px/1.6 var(--axdia-ui);color:var(--muted)}
.public-shell .install-steps b{color:var(--text)}
.public-shell .download-card{padding:24px;border:1px solid var(--line2);border-radius:18px;background:var(--surface);display:grid;gap:12px}
.public-shell .download-card h3{margin:0;font:400 28px/1.1 Georgia,serif;color:var(--text)}
.public-shell .download-card>p{margin:0;font:400 14px/1.55 var(--axdia-ui);color:var(--muted)}
.public-shell .download-card .btn{justify-self:start}
.public-shell .download-meta{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.public-shell .download-meta div{padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.public-shell .download-meta dt{font:700 9.5px/1.3 var(--axdia-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted2)}
.public-shell .download-meta dd{margin:2px 0 0;font:600 13px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .checksum{display:grid;gap:4px;margin:0}
.public-shell .checksum span{font:700 9.5px/1.3 var(--axdia-mono);letter-spacing:.08em;color:var(--muted2)}
.public-shell .checksum code{font:500 10.5px/1.4 var(--axdia-mono);word-break:break-all;color:var(--muted)}
@media (max-width:900px){.public-shell .download-block{grid-template-columns:1fr}.public-shell .download-meta{grid-template-columns:1fr 1fr 1fr}}

@media (prefers-reduced-motion:reduce){.public-shell .demo-panel[data-active] .demo-stage{animation:none}}

/* Ajustements : titres de héros scindé plus mesurés, pastilles non étirées */
.public-shell .page-hero--split h1{font-size:clamp(38px,4.3vw,62px);max-width:820px}
.public-shell .answer-card>div{grid-template-columns:118px 1fr}
.public-shell .download-card .pill,.public-shell .mission-figure .pill{justify-self:start}

/* =====================================================================
   7. AXDIA Living Background
   Grille fine + deux halos + couche SVG par univers. Seuls transform et
   opacity sont animés ; changement de variante en 500 ms ; pause hors écran.
   ===================================================================== */
.public-shell .living-scope{position:relative;isolation:isolate;overflow:hidden}
.public-shell .living-bg{--lb-line:rgba(244,238,232,.055);--lb-accent:rgba(211,77,38,.55);--lb-halo:rgba(169,48,16,.26);--lb-halo2:rgba(214,165,94,.10);position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
html[data-theme="blue"] .public-shell .living-bg{--lb-line:rgba(241,246,250,.06);--lb-accent:rgba(121,169,239,.5);--lb-halo:rgba(84,139,216,.22);--lb-halo2:rgba(158,197,255,.08)}
html[data-theme="light"] .public-shell .living-bg{--lb-line:rgba(32,27,23,.065);--lb-accent:rgba(158,62,33,.32);--lb-halo:rgba(191,89,55,.09);--lb-halo2:rgba(129,81,15,.05)}
.public-shell .lb-grid{position:absolute;inset:0;background-image:linear-gradient(var(--lb-line) 1px,transparent 1px),linear-gradient(90deg,var(--lb-line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(120% 90% at 70% 30%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 90% at 70% 30%,#000 30%,transparent 78%)}
html[data-theme="light"] .public-shell .lb-grid{background-size:48px 48px;-webkit-mask-image:radial-gradient(90% 70% at 72% 26%,#000 20%,transparent 70%);mask-image:radial-gradient(90% 70% at 72% 26%,#000 20%,transparent 70%)}
.public-shell .lb-halo{position:absolute;left:50%;top:0;width:980px;height:980px;margin-left:-490px;margin-top:-340px;border-radius:50%;background:radial-gradient(closest-side,var(--lb-halo),transparent);transition:transform .55s cubic-bezier(.3,.7,.2,1),opacity .55s ease;will-change:transform}
.public-shell .lb-halo--b{width:760px;height:760px;margin-left:-380px;margin-top:0;background:radial-gradient(closest-side,var(--lb-halo2),transparent)}
.public-shell .living-bg svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--lb-accent);stroke-width:1.2}
.public-shell .living-bg svg g[data-v]{opacity:0;transition:opacity .5s ease}
.public-shell .living-bg circle[r="5"],.public-shell .living-bg circle[r="9"]{fill:var(--lb-accent);stroke:none}
/* variante visible et position des halos */
.public-shell .living-bg[data-variant="os"] g[data-v="os"],.public-shell .living-bg[data-variant="audit"] g[data-v="audit"],.public-shell .living-bg[data-variant="prospection"] g[data-v="prospection"],.public-shell .living-bg[data-variant="signal"] g[data-v="signal"],.public-shell .living-bg[data-variant="tender"] g[data-v="tender"],.public-shell .living-bg[data-variant="secure"] g[data-v="secure"],.public-shell .living-bg[data-variant="bibliotheque"] g[data-v="bibliotheque"],.public-shell .living-bg[data-variant="website-factory"] g[data-v="website-factory"],.public-shell .living-bg[data-variant="plug-and-code"] g[data-v="plug-and-code"]{opacity:1}
.public-shell .living-bg[data-variant="os"] .lb-halo--a{transform:translate(22vw,0)}.public-shell .living-bg[data-variant="os"] .lb-halo--b{transform:translate(-30vw,520px)}
.public-shell .living-bg[data-variant="audit"] .lb-halo--a{transform:translate(30vw,-60px)}.public-shell .living-bg[data-variant="audit"] .lb-halo--b{transform:translate(-20vw,640px)}
.public-shell .living-bg[data-variant="prospection"] .lb-halo--a{transform:translate(12vw,120px)}.public-shell .living-bg[data-variant="prospection"] .lb-halo--b{transform:translate(28vw,700px)}
.public-shell .living-bg[data-variant="signal"] .lb-halo--a{transform:translate(26vw,60px) scale(1.08)}.public-shell .living-bg[data-variant="signal"] .lb-halo--b{transform:translate(-26vw,420px)}
.public-shell .living-bg[data-variant="tender"] .lb-halo--a{transform:translate(18vw,40px) scale(.92)}.public-shell .living-bg[data-variant="tender"] .lb-halo--b{transform:translate(8vw,760px)}
.public-shell .living-bg[data-variant="secure"] .lb-halo--a{transform:translate(28vw,-20px)}.public-shell .living-bg[data-variant="secure"] .lb-halo--b{transform:translate(-32vw,600px)}
.public-shell .living-bg[data-variant="bibliotheque"] .lb-halo--a{transform:translate(20vw,160px)}.public-shell .living-bg[data-variant="bibliotheque"] .lb-halo--b{transform:translate(-12vw,300px)}
.public-shell .living-bg[data-variant="website-factory"] .lb-halo--a{transform:translate(24vw,80px)}.public-shell .living-bg[data-variant="website-factory"] .lb-halo--b{transform:translate(-24vw,720px)}
.public-shell .living-bg[data-variant="plug-and-code"] .lb-halo--a{transform:translate(16vw,-40px)}.public-shell .living-bg[data-variant="plug-and-code"] .lb-halo--b{transform:translate(30vw,560px)}
/* mouvements subtils */
.public-shell .living-bg .lb-spin{transform-origin:1110px 360px;animation:lb-spin 60s linear infinite}
.public-shell .living-bg .lb-scan{fill:var(--lb-accent);stroke:none;opacity:.55;animation:lb-scan 7s ease-in-out infinite}
.public-shell .living-bg .lb-node{fill:var(--lb-accent);stroke:none;animation:lb-pulse 3.6s ease-in-out infinite;animation-delay:var(--d,0s)}
.public-shell .living-bg .lb-wave{transform-origin:1120px 380px;animation:lb-wave 4.8s ease-out infinite;animation-delay:var(--d,0s)}
.public-shell .living-bg .lb-flow{stroke-dasharray:6 18;animation:lb-dash 9s linear infinite;animation-delay:var(--d,0s)}
.public-shell .living-bg .lb-cell{animation:lb-cell 5s ease-in-out infinite;animation-delay:var(--d,0s)}
.public-shell .living-bg .lb-float{animation:lb-float 9s ease-in-out infinite}
.public-shell .living-bg[data-paused] *,.public-shell .living-bg[data-hidden] *{animation-play-state:paused!important}
@keyframes lb-spin{to{transform:rotate(360deg)}}
@keyframes lb-scan{0%,100%{transform:translateY(90px)}50%{transform:translateY(640px)}}
@keyframes lb-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes lb-wave{0%{transform:scale(.25);opacity:.9}100%{transform:scale(1.15);opacity:0}}
@keyframes lb-dash{to{stroke-dashoffset:-240}}
@keyframes lb-cell{0%,100%{opacity:.25}50%{opacity:.9}}
@keyframes lb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
/* mobile : version simplifiée — grille + halos, pas de tracés animés */
@media (max-width:760px){.public-shell .living-bg svg{opacity:.45}.public-shell .living-bg svg *{animation:none!important}.public-shell .lb-halo{width:640px;height:640px;margin-left:-320px}}
@media (prefers-reduced-motion:reduce){.public-shell .living-bg *{animation:none!important;transition:none!important}}

/* =====================================================================
   8. Accueil — héros et trois niveaux
   ===================================================================== */
.public-shell .home-hero{padding:74px 0 28px}
.public-shell .home-hero h1{font:400 clamp(36px,4.2vw,60px)/1.02 Georgia,serif;letter-spacing:-.04em;max-width:980px;margin:16px 0 20px;text-wrap:balance}
.public-shell .home-hero h1 em{color:var(--accent2);font-style:italic}
.public-shell .home-hero .ecosystem-intro{max-width:760px}
.public-shell .home-hero .ecosystem-intro strong{color:var(--text);font-weight:600}
.public-shell .levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px}
.public-shell .level{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(6px)}
.public-shell .level header{display:grid;gap:4px}
.public-shell .level-who{margin:0;font:700 10px/1.3 var(--axdia-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}
.public-shell .level h2{margin:0;font:400 28px/1.05 Georgia,serif;color:var(--text)}
.public-shell .level-price{margin:0;font:700 14px/1.35 var(--axdia-ui);color:var(--accent2)}
.public-shell .level-price small{display:block;margin-top:3px;font:500 11px/1.4 var(--axdia-ui);color:var(--muted)}
.public-shell del[data-regular-price]{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.public-shell .level--free .level-price{color:var(--green,#70be8d)}
.public-shell .level-tag{margin:0;font:500 13px/1.4 var(--axdia-ui);color:var(--muted)}
.public-shell .level-links{display:flex;flex-wrap:wrap;gap:6px}
.public-shell .level-links a{padding:5px 9px;border:1px solid var(--line);border-radius:999px;font:500 12px/1.2 var(--axdia-ui);color:var(--text);text-decoration:none}
.public-shell .level-links a:hover{border-color:var(--accent2)}
.public-shell .level .text-link{margin-top:auto}
@media (max-width:900px){.public-shell .levels{grid-template-columns:1fr}.public-shell .home-hero{padding:48px 0 20px}}

/* Démo d'accueil */
.public-shell .home-demo{padding-top:36px}
.public-shell .demo--home .demo-panel{min-height:360px}
.public-shell .demo-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 6px 4px;border-top:1px solid var(--line);margin-top:14px}
.public-shell .demo-foot .demo-note{margin:0!important;border:0!important;padding:0!important;background:none!important}
.public-shell .demo:not(.demo--js) .demo-foot .btn{display:none}
.public-shell .demo--js .demo-panel-link{display:none}
.public-shell .m-kicker{margin:0 0 8px;font:700 9.5px/1 var(--axdia-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}
.public-shell .m-sub{margin:12px 0 6px;font:700 10px/1 var(--axdia-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted2)}
.public-shell .m-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.public-shell .m-actions span,.public-shell .m-tools span{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:11.5px;font-weight:600}
.public-shell .m-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.public-shell .m-tools small{display:block;margin-top:3px;font-weight:500;font-size:10px;color:var(--green,#70be8d)}
.public-shell .m-input{padding:9px 11px;border:1px solid var(--line2);border-radius:9px;background:var(--surface);font:500 11.5px/1.2 var(--axdia-mono);color:var(--text);margin-bottom:10px}
.public-shell .m-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.public-shell .m-chips span{padding:4px 9px;border:1px solid var(--line);border-radius:999px;font-size:10.5px;color:var(--text)}
.public-shell .m-chips span.on{background:var(--accent);border-color:var(--accent);color:#fff}
.public-shell .mini-flow{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.public-shell .mini-flow li{padding:4px 8px;border-radius:7px;background:var(--surface2);font:600 10px/1.2 var(--axdia-ui);color:var(--muted)}
.public-shell .mini-flow li:last-child{background:var(--accent-soft);color:var(--text)}
.public-shell .mrow{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;margin-top:6px;background:var(--surface)}
.public-shell .mrow span{font-size:11.5px;color:var(--text)}.public-shell .mrow b{font-size:11.5px;text-align:right}
.public-shell .mrow em{grid-column:1/-1;font-style:normal;font-size:10px;color:var(--muted2)}
.public-shell .mrow.hi{border-color:color-mix(in srgb,var(--accent2) 45%,var(--line));box-shadow:inset 3px 0 0 var(--accent2)}
.public-shell .m-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px}
.public-shell .m-scores span{display:grid;gap:2px;padding:8px;border:1px solid var(--line);border-radius:9px;font-size:10px;color:var(--muted);background:linear-gradient(90deg,var(--accent-soft) var(--v),transparent var(--v))}
.public-shell .m-scores b{font:700 17px/1 var(--axdia-mono);color:var(--text)}
.public-shell .m-code{margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font:500 10.5px/1.6 var(--axdia-mono);white-space:pre-wrap;color:var(--text)}
.public-shell .m-site{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.public-shell .m-site-nav{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:11px}
.public-shell .m-site-nav b{margin-right:auto}.public-shell .m-site-nav i{width:28px;height:5px;border-radius:3px;background:var(--line2)}
.public-shell .m-site-hero{display:grid;gap:8px;padding:18px 12px;background:linear-gradient(135deg,var(--accent-soft),transparent)}
.public-shell .m-site-hero b{font:400 17px/1.1 Georgia,serif}.public-shell .m-site-hero span{justify-self:start;padding:5px 10px;border-radius:7px;background:var(--accent);color:#fff;font-size:10.5px}
.public-shell .m-site-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}.public-shell .m-site-cols i{height:34px;border-radius:7px;background:var(--surface2)}
/* entrée séquentielle des éléments de l'aperçu actif */
.public-shell .demo--js .demo-panel[data-active] :is(.mini-flow li,.m-actions span,.m-tools span,.mrow,.m-scores span){animation:demo-item .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 60ms + 80ms)}
.public-shell .demo--js .demo-panel[data-active] .mrow:nth-of-type(2){--i:4}.public-shell .demo--js .demo-panel[data-active] .mrow:nth-of-type(3){--i:6}
@keyframes demo-item{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.public-shell .demo-panel[data-active] *{animation:none!important}}
@media (max-width:560px){.public-shell .m-actions{grid-template-columns:1fr 1fr}.public-shell .demo-foot{flex-direction:column;align-items:stretch}.public-shell .demo-foot .btn{justify-content:center}}

/* =====================================================================
   9. Assistant d'orientation
   ===================================================================== */
.public-shell .orient-wrap{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:40px;align-items:start}
.public-shell .orient-wrap h2{margin:8px 0 12px}
.public-shell .orient{display:grid;gap:14px}
.public-shell .orient-q{margin:0;padding:0;border:0;min-width:0}
.public-shell .orient-q legend{display:flex;align-items:center;gap:9px;margin-bottom:8px;font:600 15px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .orient-q legend span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--accent-soft);font:700 11px/1 var(--axdia-mono);color:var(--accent2)}
.public-shell .orient-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.public-shell .orient-opt{position:relative;display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer}
.public-shell .orient-opt:hover{border-color:var(--line2)}
.public-shell .orient-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.public-shell .orient-opt b{font:600 13.5px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .orient-opt small{font:400 12px/1.35 var(--axdia-ui);color:var(--muted)}
.public-shell .orient-opt:has(input:checked){border-color:var(--accent2);background:var(--accent-soft)}
.public-shell .orient-opt:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--accent2) 45%,transparent);outline-offset:2px}
.public-shell .orient-result{padding:18px;border:1px dashed var(--line2);border-radius:14px;min-height:92px}
.public-shell .orient-result:has(h3){border-style:solid;border-color:var(--accent2);background:var(--surface)}
.public-shell .orient-result h3{margin:4px 0;font:400 26px/1.1 Georgia,serif;color:var(--text)}
.public-shell .orient-result p{margin:0 0 8px;font:400 14px/1.55 var(--axdia-ui);color:var(--muted)}
.public-shell .orient-level{font:700 10px/1 var(--axdia-mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2)!important}
.public-shell .orient-price{font:700 14px/1.3 var(--axdia-ui)!important;color:var(--text)!important}
.public-shell .orient-empty{color:var(--muted2)!important}
@media (max-width:900px){.public-shell .orient-wrap{grid-template-columns:1fr;gap:20px}}

/* =====================================================================
   10. Lignes de prix (services)
   ===================================================================== */
.public-shell .price-rows{display:grid;border-top:1px solid var(--line)}
.public-shell .os-usage-group{margin-top:30px}
.public-shell .os-usage-group h3{margin:0 0 10px;font:600 21px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .price-row{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.6fr) auto 20px;gap:18px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.public-shell .price-row:hover{background:color-mix(in srgb,var(--surface) 70%,transparent)}
.public-shell .pr-title{font:600 16px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .pr-text{font:400 14px/1.5 var(--axdia-ui);color:var(--muted)}
.public-shell .pr-price{font:700 14px/1.3 var(--axdia-ui);color:var(--accent2);white-space:nowrap}
.public-shell .pr-go{color:var(--muted2)}
@media (max-width:760px){.public-shell .price-row{grid-template-columns:1fr auto;gap:4px 12px}.public-shell .pr-text{grid-column:1/-1;grid-row:2}.public-shell .pr-go{display:none}}

/* =====================================================================
   11. Tarifs, forfait AXDIA OS, configurateur
   ===================================================================== */
.public-shell .price-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid var(--line2);font:700 11px/1.4 var(--axdia-ui);color:var(--accent2);vertical-align:middle}
.public-shell .price-tag.free{color:var(--green,#70be8d)}
.public-shell .spec-rows h3 a{color:var(--text);text-decoration:none}.public-shell .spec-rows h3 a:hover{text-decoration:underline}
.public-shell .os-plan{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:36px;align-items:start}
.public-shell .os-plan--tiers{display:block}
.public-shell .os-plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.public-shell .os-plan-cards .plan-card{position:static;min-width:0;align-content:start}
.public-shell .os-plan-cards .plan-card h3{margin:0;font:600 21px/1.25 var(--axdia-ui);color:var(--text)}
.public-shell .os-plan-cards .dot-list{margin:0}
.public-shell .os-plan h2{margin:8px 0 12px}
.public-shell .os-modules{margin-top:20px}
.public-shell .os-modules td:nth-child(2){font:inherit!important;white-space:nowrap}
.public-shell .plan-card{position:sticky;top:96px;display:grid;gap:14px;padding:24px;border:1px solid var(--accent2);border-radius:18px;background:var(--surface);box-shadow:0 18px 50px color-mix(in srgb,var(--accent) 14%,transparent)}
.public-shell .plan-card .pill{justify-self:start}
.public-shell .plan-prices{display:grid;gap:10px}
.public-shell .plan-prices div{display:grid;gap:2px}
.public-shell .plan-prices b{font:400 38px/1 Georgia,serif;color:var(--text);letter-spacing:-.02em}
.public-shell .plan-prices span{font:500 12.5px/1.4 var(--axdia-ui);color:var(--muted)}
.public-shell .plan-prices del{font-size:14px}
.public-shell .plan-annual{display:grid;gap:12px;padding:18px;border:1px solid var(--accent2);border-radius:14px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.public-shell .plan-annual h4,.public-shell .plan-annual p{margin:0}
.public-shell .plan-annual h4{font:600 17px/1.3 var(--axdia-ui)}
.public-shell .plan-annual p b{font:600 22px/1.2 var(--axdia-ui);color:var(--text)}
.public-shell .plan-card .btn{justify-self:stretch;justify-content:center}
.public-shell .plan-card .muted2{margin:0;font-size:12.5px;line-height:1.5}
@media (max-width:900px){.public-shell .os-plan{grid-template-columns:1fr}.public-shell .plan-card{position:static}}
@media (max-width:1000px){.public-shell .os-plan-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.public-shell .os-plan-cards{grid-template-columns:1fr}}
.public-shell .price-table .price-cell{font:700 14px/1.4 var(--axdia-ui)!important;color:var(--accent2)!important;white-space:nowrap}
.public-shell .price-table th a{color:var(--text)}
.public-shell .compare-table td{color:var(--text)}
.public-shell .compare-table td:nth-child(2){font:inherit!important}
.public-shell .compare-links{margin-top:14px;line-height:1.9}
.public-shell .estimator-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px;align-items:start}
.public-shell .estimator-wrap h2{margin:8px 0 12px}
.public-shell .estimator{display:grid;gap:16px}
.public-shell .est-types{margin:0;padding:0;border:0}
.public-shell .est-types legend{margin-bottom:8px;font:600 15px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .est-type-list{display:flex;flex-wrap:wrap;gap:6px}
.public-shell .est-type-list .orient-opt{padding:8px 12px}
.public-shell .est-questions{display:grid;gap:14px}
.public-shell .est-questions legend small{font-weight:500;color:var(--muted2)}
.public-shell .est-result{display:grid;gap:6px;padding:20px;border:1px solid var(--accent2);border-radius:16px;background:var(--surface)}
.public-shell .est-label{margin:0;font:700 10px/1 var(--axdia-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent2)}
.public-shell .est-amount{margin:0;font:400 clamp(28px,3vw,40px)/1.1 Georgia,serif;color:var(--text)}
.public-shell .est-note{margin:0 0 6px;font:400 12.5px/1.5 var(--axdia-ui);color:var(--muted)}
.public-shell .est-result .btn{justify-self:start}
@media (max-width:900px){.public-shell .estimator-wrap{grid-template-columns:1fr;gap:18px}}

/* =====================================================================
   12. Bandeau « Tarif » (pages services et produits)
   ===================================================================== */
.public-shell .price-band{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent)}
.public-shell .price-band .ecosystem-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-top:14px;padding-bottom:14px}
.public-shell .pb-label{font:700 10px/1 var(--axdia-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent2)}
.public-shell .pb-items{display:flex;flex-wrap:wrap;gap:6px 16px;font:400 14px/1.4 var(--axdia-ui);color:var(--muted)}
.public-shell .pb-items b{color:var(--text);font-weight:700}
.public-shell .pb-note{font:500 11.5px/1.3 var(--axdia-ui);color:var(--muted2)}
.public-shell .pb-link{margin-left:auto;font:600 13px/1.3 var(--axdia-ui);color:var(--accent2)}
@media (max-width:760px){.public-shell .pb-link{margin-left:0}}

/* =====================================================================
   13. Accueil — héros scindé : texte + AXDIA Website Factory
   ===================================================================== */
.public-shell .home-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:40px;align-items:center}
.public-shell .factory-card{display:grid;gap:12px;padding:22px;border:1px solid var(--line2);border-radius:18px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(6px);box-shadow:0 22px 60px rgba(0,0,0,.18)}
.public-shell .factory-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.public-shell .factory-card-head .ecosystem-kicker{margin:0}
.public-shell .factory-card h2{margin:0;font:400 clamp(24px,2.2vw,30px)/1.1 Georgia,serif;letter-spacing:-.02em;color:var(--text)}
.public-shell .factory-card h2 em{color:var(--accent2)}
.public-shell .factory-preview{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg2)}
.public-shell .factory-preview .mini-flow{margin:0}
.public-shell .factory-note{margin:0;font:500 10.5px/1.3 var(--axdia-mono);color:var(--muted2)}
.public-shell .factory-text{margin:0;font:400 14px/1.55 var(--axdia-ui);color:var(--muted)}
.public-shell .factory-card .hero-actions{margin:0}
.public-shell .factory-preview .mini-flow li{animation:demo-item .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 90ms + 200ms)}
@media (prefers-reduced-motion:reduce){.public-shell .factory-preview .mini-flow li{animation:none}}
@media (max-width:980px){.public-shell .home-hero-grid{grid-template-columns:1fr;gap:26px}}

/* =====================================================================
   14. Contact — domaines par famille, suggestion, pièce jointe, envoi
   ===================================================================== */
.public-shell .qual-needs-wrap{display:grid;gap:18px}
.public-shell .contact-offer{margin:16px 0 0;font:500 13px/1.6 var(--axdia-ui);color:var(--muted)}
.public-shell .contact-offer strong{color:var(--accent2)}
.public-shell .contact-offer span{white-space:nowrap}
.public-shell .qual-regular-price{margin-left:3px;font-style:normal}
.public-shell .qual-needs-title{margin:0;font:400 28px/1.15 Georgia,serif;color:var(--text)}
.public-shell .qual-needs-wrap .qual-needs{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.public-shell .qual-needs-wrap .qual-needs legend{grid-column:1/-1;margin-bottom:4px;font:700 10px/1.3 var(--axdia-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}
.public-shell .qual-need{position:relative}
.public-shell .qual-need.is-suggested{outline:2px solid var(--accent2);outline-offset:2px;border-radius:12px}
.public-shell .qual-suggest{position:absolute;top:-9px;right:10px;z-index:1;padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff;font:700 10px/1.4 var(--axdia-ui)}
.public-shell .qual-resume{margin:0;padding:10px 14px;border:1px dashed var(--line2);border-radius:12px;font:400 14px/1.5 var(--axdia-ui);color:var(--muted)}
.public-shell .qual-resume .text-link{background:none;border:0;padding:0;cursor:pointer;font:600 14px/1.4 var(--axdia-ui)}
.public-shell .qual-family{margin:14px 0 6px;font:700 10px/1.3 var(--axdia-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}
.public-shell .qual-subtype{margin:-4px 0 10px;font:700 13px/1.4 var(--axdia-ui);color:var(--accent2)}
.public-shell .qual-attach{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:0 0 16px;padding:12px 14px;border:1px solid var(--green,#70be8d);border-radius:12px;background:color-mix(in srgb,var(--green,#70be8d) 8%,var(--surface))}
.public-shell .qual-attach-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--surface2);font:700 11px/1 var(--axdia-mono);color:var(--text)}
.public-shell .qual-attach b{display:block;font:600 14px/1.3 var(--axdia-ui);color:var(--text);word-break:break-all}
.public-shell .qual-attach small{display:block;font:400 12px/1.45 var(--axdia-ui);color:var(--muted)}
.public-shell .qual-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;opacity:0}
.public-shell .qual-sendbox{margin-top:12px;font:400 14px/1.5 var(--axdia-ui);color:var(--muted)}
.public-shell .qual-send-error b{color:var(--text)}
.public-shell .qual-done h2{margin-top:0}
@media (max-width:560px){.public-shell .qual-attach{grid-template-columns:auto 1fr}.public-shell .qual-attach .btn{grid-column:1/-1}}

/* =====================================================================
   15. Méthode des services (audit, prospection)
   ===================================================================== */
.public-shell .method-block .timeline-v{margin-bottom:24px}
.public-shell .method-axes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 24px}
.public-shell .method-axes article{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.public-shell .method-axes h3{margin:6px 0 8px;font:600 17px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .method-axes p:not(.path-index){margin:0;font:400 14px/1.55 var(--axdia-ui);color:var(--muted)}
.public-shell .method-facts{max-width:900px}
@media (max-width:860px){.public-shell .method-axes{grid-template-columns:1fr}}

/* =====================================================================
   16. Centre d'aide
   ===================================================================== */
.public-shell .help-index{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.public-shell .help-index a{padding:7px 12px;border:1px solid var(--line);border-radius:999px;font:500 13px/1.2 var(--axdia-ui);color:var(--text);text-decoration:none}
.public-shell .help-index a:hover{border-color:var(--accent2)}
.public-shell .help-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-shell .help-guide{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);scroll-margin-top:90px}
.public-shell .help-guide h2{margin:0 0 12px;font:400 28px/1.1 Georgia,serif;color:var(--text)}
.public-shell .help-guide ol{margin:0 0 12px;padding-left:20px;display:grid;gap:8px;font:400 14.5px/1.55 var(--axdia-ui);color:var(--muted)}
@media (max-width:860px){.public-shell .help-guides{grid-template-columns:1fr}}

/* =====================================================================
   17. Retour sur un outil (pages /bibliotheque/*)
   ===================================================================== */
.public-shell .tool-feedback{display:grid;gap:10px;margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.public-shell .tool-feedback-q{margin:0;font:600 14px/1.3 var(--axdia-ui);color:var(--text)}
.public-shell .tool-feedback-actions{display:flex;flex-wrap:wrap;gap:8px}
.public-shell .tool-feedback-form{display:grid;gap:10px;max-width:560px}
.public-shell .tool-feedback-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.public-shell .tool-feedback-form small{color:var(--muted2)}
.public-shell .tool-feedback-form select,.public-shell .tool-feedback-form textarea{width:100%;padding:9px 11px;border:1px solid var(--line2);border-radius:10px;background:var(--surface2);color:var(--text);font:inherit}
.public-shell .tool-feedback-status{margin:0;font-size:13px;color:var(--muted)}
.public-shell .tool-feedback-status:empty{display:none}
/* Contraste WCAG AA (QA phase 3) : petits textes d'accent → jeton lisible du thème (--accent-readable) ;
   l'accent décoratif (--accent2) reste réservé aux grands éléments et aux fonds. */
.public-shell .timeline-v li>span,.public-shell .est-label,.public-shell .tool-card-icon,.public-shell [aria-selected="true"] .demo-num,.public-shell .loop-line li:last-child,.public-shell .pc-kicker,
.public-shell .tldr-block strong,.public-shell .answer-capsule strong,.public-shell .colophon-doc h6,.public-shell .colophon-doc .footer-col-h{color:var(--accent-readable)}
.public-shell .price-table .price-cell{color:var(--accent-readable)!important} /* la règle d'origine est en !important */
.public-shell .nl-spin-core{color:#fff}
html[data-theme="light"] body.public-shell{--axdia-red:#a4282c}
.public-shell .ecosystem-hero p>a:only-child{display:inline-block;padding:3px 0}
