@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#2e2418; --muted:#786d5d; --paper:#f5eee2; --white:#fffaf1; --line:#dfd2bf; --mint:#f0e0bf; --green:#b8892f; --deep:#3b2a18; --lime:#e7c574; --shadow:0 22px 70px rgba(91,62,26,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background-color:var(--paper); background-image:radial-gradient(ellipse at 18% 8%,rgba(255,255,255,.88) 0 9%,transparent 39%),radial-gradient(ellipse at 84% 23%,rgba(214,193,159,.25) 0 10%,transparent 37%),linear-gradient(117deg,transparent 0 26%,rgba(173,144,98,.11) 27% 28%,transparent 29% 56%,rgba(255,255,255,.5) 57% 58%,transparent 59%),linear-gradient(67deg,transparent 0 44%,rgba(169,138,91,.09) 45% 46%,transparent 47%); background-attachment:fixed; font-family:Manrope,system-ui,-apple-system,sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.container { width:min(1160px,calc(100% - 48px)); margin:0 auto; }
.site-header { position:relative; z-index:2; }
.nav { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font-size:1.08rem; font-weight:800; letter-spacing:-.03em; }
.brand-logo { display:block; width:34px; height:34px; border:2px solid var(--green); border-radius:50%; object-fit:cover; object-position:center 34%; box-shadow:0 4px 12px rgba(83,55,20,.18); }
.nav-links { display:flex; gap:28px; margin-left:auto; color:var(--muted); font-size:.84rem; font-weight:700; }
.nav-links a,.footer a { transition:color .2s ease; }
.nav-links a:hover,.footer a:hover { color:var(--green); }
.nav-cta { display:inline-flex; align-items:center; gap:8px; padding:11px 17px; border-radius:100px; color:var(--white); background:var(--ink); font-size:.82rem; font-weight:800; transition:transform .2s ease,background .2s ease; }
.nav-cta:hover { transform:translateY(-2px); background:var(--green); }
.hero { position:relative; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:70px; min-height:615px; padding-top:55px; padding-bottom:90px; }
.hero:before { content:""; position:absolute; z-index:-1; width:500px; height:500px; top:10px; left:-160px; border-radius:50%; background:radial-gradient(circle,rgba(232,197,116,.34),transparent 68%); filter:blur(8px); }
.eyebrow,.kicker { margin:0 0 18px; color:var(--green); text-transform:uppercase; letter-spacing:.14em; font-family:'DM Mono',monospace; font-size:.68rem; font-weight:500; }
.status-dot { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(184,137,47,.17); vertical-align:1px; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:650px; margin-bottom:24px; color:var(--ink); font-size:clamp(3.3rem,6vw,5.7rem); line-height:.98; letter-spacing:-.075em; }
h1 em { color:var(--green); font-family:Georgia,serif; font-weight:400; }
.hero-lead { max-width:560px; margin-bottom:31px; color:var(--muted); font-size:1.08rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:51px; padding:0 20px; border-radius:100px; font-size:.86rem; font-weight:800; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(91,62,26,.16); }
.button-primary { color:#2e2418; background:var(--green); }
.button-primary:hover { background:#d1a84f; }
.button-ghost { border:1px solid var(--line); color:var(--ink); background:rgba(255,255,255,.42); }
.button-ghost:hover { background:var(--white); }
.hero-proof { display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; color:var(--muted); font-size:.72rem; font-weight:700; }
.hero-visual { position:relative; padding:13px; border:1px solid rgba(255,255,255,.75); border-radius:25px; background:linear-gradient(145deg,#eee2cb,#d6c09a); box-shadow:var(--shadow); transform:rotate(1.2deg); }
.window-bar { display:flex; align-items:center; justify-content:space-between; padding:12px 13px 15px; color:#7b9186; font-family:'DM Mono',monospace; font-size:.62rem; }
.window-dots { display:flex; gap:5px; }.window-dots i { width:7px; height:7px; border-radius:50%; background:#b7cbb9; }.window-dots i:first-child { background:#e09e72; }
.conversation { min-height:355px; padding:22px; border-radius:15px; background:rgba(255,254,249,.86); box-shadow:0 8px 35px rgba(40,75,57,.09); }
.message { max-width:87%; padding:15px 17px; border-radius:17px; font-size:.86rem; line-height:1.55; }.message-user { margin-left:auto; border-bottom-right-radius:5px; color:var(--white); background:var(--green); }.message-sophie { margin-top:20px; border:1px solid #dce9d8; border-bottom-left-radius:5px; background:#f4f8ee; }.message-sophie p { margin:14px 0 0; }.answer-label { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:.66rem; font-weight:700; }.avatar { display:grid; place-items:center; width:22px; height:22px; border-radius:7px; color:var(--white); background:var(--green); font-family:Georgia,serif; font-size:.83rem; font-weight:400; }.check { margin-left:auto; color:#3e9b62; font-size:.9rem; }.answer-foot { display:flex; gap:13px; margin-top:15px; color:var(--green); font-family:'DM Mono',monospace; font-size:.61rem; }.typing { display:flex; align-items:center; gap:4px; margin:23px 4px 0; color:#8ca096; font-size:.66rem; }.typing span { width:4px; height:4px; border-radius:50%; background:#9cba9f; }.visual-glow { position:absolute; z-index:-1; width:220px; height:150px; right:-80px; bottom:-50px; border-radius:50%; background:var(--lime); opacity:.38; filter:blur(35px); }
.trust-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.35); }.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }.trust-grid>div { min-height:102px; padding:25px 26px; border-right:1px solid var(--line); }.trust-grid>div:first-child { padding-left:0; }.trust-grid>div:last-child { border-right:0; }.trust-grid strong { display:block; color:var(--green); font-size:1.6rem; letter-spacing:-.06em; }.trust-grid span { color:var(--muted); font-size:.68rem; font-weight:700; }
.identity-section { padding-top:115px; padding-bottom:115px; background:#f0f5ed; }
.identity-layout { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:92px; }
.identity-gallery { position:relative; min-height:520px; }
.portrait-card { position:absolute; top:0; left:7%; width:min(310px,66%); margin:0; padding:10px; border:1px solid rgba(255,255,255,.9); border-radius:19px; background:var(--white); box-shadow:0 24px 55px rgba(35,75,50,.17); transform:rotate(-3deg); }
.portrait-card img { display:block; width:100%; aspect-ratio:3/4; border-radius:12px; object-fit:cover; object-position:center 33%; }
.portrait-card figcaption { display:flex; align-items:center; gap:8px; padding:14px 4px 4px; color:var(--muted); font-size:.64rem; }.portrait-card figcaption strong,.portrait-card figcaption small { display:block; }.portrait-card figcaption strong { color:var(--ink); font-size:.72rem; }.portrait-card figcaption small { margin-top:2px; }.live-dot { width:7px; height:7px; flex:none; border-radius:50%; background:#67b96a; box-shadow:0 0 0 4px rgba(103,185,106,.16); }.photo-tag { margin-left:auto; color:var(--green); font-family:'DM Mono',monospace; font-size:.54rem; text-transform:uppercase; letter-spacing:.08em; }
.frame-pair { position:absolute; right:0; bottom:18px; display:flex; gap:12px; transform:rotate(4deg); }.mini-frame { width:142px; margin:0; padding:7px 7px 9px; border:1px solid #d0dbce; border-radius:13px; background:var(--white); box-shadow:0 14px 30px rgba(35,75,50,.12); }.mini-frame img { display:block; width:100%; aspect-ratio:188/136; object-fit:cover; border-radius:7px; }.mini-frame figcaption { padding-top:7px; color:var(--muted); font-family:'DM Mono',monospace; font-size:.57rem; text-transform:uppercase; letter-spacing:.08em; }.mini-frame-accent { transform:translateY(-24px); }.identity-copy h2 { max-width:560px; margin-bottom:20px; color:var(--ink); font-size:clamp(2.2rem,4vw,3.45rem); line-height:1.02; letter-spacing:-.065em; }.identity-copy>p:not(.kicker) { max-width:540px; color:var(--muted); line-height:1.8; }.identity-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }.identity-pills span { padding:8px 11px; border:1px solid #ceddce; border-radius:100px; color:var(--green); background:rgba(255,255,255,.45); font-family:'DM Mono',monospace; font-size:.57rem; }
.frames-section { padding-top:110px; padding-bottom:120px; background:var(--paper); }.frames-layout { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:80px; }.frames-copy h2 { max-width:500px; margin-bottom:18px; color:var(--ink); font-size:clamp(2.15rem,3.6vw,3.25rem); line-height:1.04; letter-spacing:-.06em; }.frames-copy>p:not(.kicker) { max-width:460px; color:var(--muted); line-height:1.8; }.frame-legend { display:flex; gap:20px; margin-top:29px; color:var(--muted); font-family:'DM Mono',monospace; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }.frame-legend span { display:flex; align-items:center; gap:8px; }.legend-line { width:22px; height:3px; border-radius:2px; background:var(--green); }.legend-line-light { background:#c3d9c7; }.contact-sheet { display:grid; gap:18px; }.contact-sheet figure { margin:0; padding:10px 10px 12px; border:1px solid var(--line); border-radius:18px; background:var(--white); box-shadow:0 16px 40px rgba(35,75,50,.08); }.contact-sheet img { display:block; width:100%; border-radius:10px; }.contact-sheet figcaption { display:flex; align-items:center; gap:12px; padding:12px 4px 0; color:var(--muted); font-size:.67rem; }.contact-sheet figcaption strong { color:var(--green); font-family:'DM Mono',monospace; font-size:.7rem; }.contact-sheet figcaption span { border-left:1px solid var(--line); padding-left:12px; }
.section { padding-top:130px; padding-bottom:130px; }.section-intro { max-width:650px; }.section-intro h2,.proof-layout h2,.download-card h2 { margin-bottom:18px; color:var(--ink); font-size:clamp(2.2rem,4vw,3.55rem); line-height:1.02; letter-spacing:-.065em; }.section-intro>p:last-child,.proof-layout p,.download-card p { color:var(--muted); font-size:1rem; line-height:1.75; }.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:58px; }.benefit-card { min-height:235px; padding:28px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.48); }.benefit-card:first-child { grid-row:span 2; background:var(--deep); color:var(--white); }.benefit-card:first-child h3 { color:var(--white); }.benefit-card:first-child p { color:#b9cec3; }.benefit-card:first-child a { color:var(--lime); }.benefit-card h3 { margin:22px 0 9px; font-size:1.12rem; letter-spacing:-.035em; }.benefit-card p { margin-bottom:0; color:var(--muted); font-size:.84rem; line-height:1.7; }.benefit-card a { display:inline-block; margin-top:28px; color:var(--green); font-size:.73rem; font-weight:800; }.benefit-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:var(--green); background:var(--mint); font-size:1.05rem; }.benefit-card:first-child .benefit-icon { color:var(--deep); background:var(--lime); }
.section-demo { background:#eaf3e8; }.demo-layout { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:100px; }.text-link { display:inline-flex; gap:16px; margin-top:23px; color:var(--green); font-size:.83rem; font-weight:800; }.result-card { padding:34px; border:1px solid rgba(210,226,210,.9); border-radius:20px; background:var(--white); box-shadow:0 20px 50px rgba(43,80,56,.1); }.result-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; }.result-badge { padding:7px 10px; border-radius:100px; color:#32825a; background:#e3f4e4; font-family:'DM Mono',monospace; font-size:.63rem; }.result-time { color:#91a298; font-family:'DM Mono',monospace; font-size:.65rem; }.result-card h3 { max-width:500px; margin-bottom:20px; font-size:1.02rem; }.result-answer { display:flex; align-items:baseline; gap:14px; padding-bottom:26px; border-bottom:1px solid var(--line); }.result-answer strong { color:var(--green); font-family:Georgia,serif; font-size:4.2rem; font-weight:400; letter-spacing:-.08em; }.result-answer span { color:var(--muted); font-size:.78rem; }.result-details { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding-top:24px; }.result-details>div { display:flex; gap:10px; }.detail-icon { color:var(--green); font-size:1rem; }.result-details b,.result-details small { display:block; }.result-details b { font-size:.72rem; }.result-details small { margin-top:3px; color:var(--muted); font-size:.64rem; }
.centered { max-width:700px; margin:0 auto; text-align:center; }.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; margin-top:70px; }.step { position:relative; }.step:not(:last-child):after { content:""; position:absolute; top:16px; right:-26px; width:42px; border-top:1px dashed #b7cabe; }.step-number { color:var(--green); font-family:'DM Mono',monospace; font-size:.7rem; }.step h3 { margin:18px 0 8px; font-size:1rem; }.step p { margin:0; color:var(--muted); font-size:.83rem; line-height:1.7; }.section-proof { padding-top:100px; padding-bottom:100px; background:var(--deep); color:var(--white); }.proof-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }.proof-layout h2 { color:var(--white); }.proof-layout p { color:#b7cabf; }.proof-list { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.proof-list div { padding:21px 0; border-bottom:1px solid rgba(255,255,255,.16); }.proof-list strong { display:block; color:var(--lime); font-family:Georgia,serif; font-size:2.55rem; font-weight:400; letter-spacing:-.06em; }.proof-list span { color:#bfd0c6; font-size:.7rem; }
.download-section { padding:80px 0; background:var(--paper); }.download-card { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:57px 65px; border-radius:24px; color:var(--white); background:var(--green); box-shadow:0 22px 60px rgba(29,107,79,.18); }.download-card h2 { max-width:680px; color:var(--white); }.download-card p { max-width:600px; color:#cbe0d3; }.download-actions { display:flex; flex-direction:column; align-items:center; gap:14px; min-width:200px; }.button-light { color:var(--deep); background:var(--lime); }.download-actions small { color:#cbe0d3; font-size:.62rem; white-space:nowrap; }.footer { padding:28px 0 36px; border-top:1px solid var(--line); }.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:.7rem; }.footer .brand { color:var(--ink); }.footer p { margin:0; }.footer a:last-child { color:var(--green); font-weight:700; }
@media (max-width:850px) { .nav-links { display:none; }.hero { grid-template-columns:1fr; gap:45px; min-height:auto; padding-top:55px; }.hero-copy { max-width:670px; }.hero-visual { max-width:620px; width:100%; margin:0 auto; }.benefit-grid { grid-template-columns:1fr 1fr; }.benefit-card:first-child { grid-row:auto; }.demo-layout,.proof-layout,.identity-layout,.frames-layout { grid-template-columns:1fr; gap:45px; }.identity-gallery { max-width:560px; width:100%; margin:0 auto; }.identity-copy { max-width:680px; }.frames-copy { max-width:650px; }.download-card { align-items:flex-start; flex-direction:column; }.download-actions { align-items:flex-start; }.trust-grid>div { padding-left:15px; padding-right:15px; }.trust-grid>div:first-child { padding-left:0; } }
@media (max-width:600px) { .container { width:min(100% - 32px,1160px); }.nav { min-height:70px; }.nav-cta { padding:9px 13px; font-size:.72rem; }.hero { padding-top:45px; padding-bottom:70px; }.hero h1 { font-size:3.35rem; }.hero-lead { font-size:.95rem; }.hero-proof { gap:10px 16px; font-size:.63rem; }.trust-grid { grid-template-columns:1fr 1fr; }.trust-grid>div { min-height:91px; padding-top:18px; padding-bottom:18px; border-bottom:1px solid var(--line); }.trust-grid>div:nth-child(2) { border-right:0; }.trust-grid>div:nth-child(3),.trust-grid>div:nth-child(4) { border-bottom:0; }.section { padding-top:85px; padding-bottom:85px; }.identity-section { padding-top:78px; padding-bottom:78px; }.identity-gallery { min-height:430px; }.portrait-card { left:0; width:64%; }.frame-pair { right:-2px; bottom:5px; gap:7px; }.mini-frame { width:112px; }.mini-frame-accent { transform:translateY(-18px); }.benefit-grid { grid-template-columns:1fr; margin-top:38px; }.benefit-card { min-height:auto; }.section-intro h2,.proof-layout h2,.download-card h2 { font-size:2.35rem; }.frames-section { padding-top:80px; padding-bottom:85px; }.contact-sheet { gap:13px; }.contact-sheet figcaption { align-items:flex-start; }.result-card { padding:23px; }.result-details { grid-template-columns:1fr; gap:13px; }.steps { grid-template-columns:1fr; gap:34px; margin-top:45px; }.step:not(:last-child):after { display:none; }.proof-list { gap:15px; }.download-section { padding:48px 0; }.download-card { padding:34px 24px; }.footer-inner { align-items:flex-start; flex-direction:column; gap:14px; } }
@media (prefers-color-scheme:dark) { :root { --paper:#101a16; --white:#17251e; --ink:#eef5e9; --muted:#a7b9ae; --line:#2a3d33; --mint:#284b3a; --deep:#07100c; }.site-header,.trust-strip,.download-section { background:#101a16; }.hero:before { opacity:.16; }.button-ghost { background:transparent; }.benefit-card { background:#17251e; }.section-demo { background:#16291f; }.identity-section { background:#16271e; }.frames-section { background:#101a16; }.result-card { background:#17251e; }.window-bar { color:#91a89a; }.conversation { background:#17251e; }.message-sophie { background:#20372a; border-color:#345741; }.message-user { color:#07100c; }.portrait-card,.mini-frame,.contact-sheet figure { background:#17251e; border-color:#34513f; }.identity-pills span { background:#17251e; border-color:#34513f; }.footer { background:#101a16; }.nav-cta { background:#d8ef72; color:#07100c; }.download-card { background:#285c45; } }

/* Direction visuelle Sophie : or, lumière chaude et marbre. */
body { background-color:var(--paper); background-image:radial-gradient(ellipse at 10% 6%,rgba(255,255,255,.9) 0 8%,transparent 38%),radial-gradient(ellipse at 87% 22%,rgba(211,187,145,.24) 0 11%,transparent 39%),linear-gradient(116deg,transparent 0 25%,rgba(165,129,70,.12) 26% 27%,transparent 28% 57%,rgba(255,255,255,.46) 58% 59%,transparent 60%),linear-gradient(68deg,transparent 0 44%,rgba(158,119,60,.08) 45% 46%,transparent 47%); background-attachment:fixed; }
.brand-logo { width:36px; height:36px; border:2px solid #b8892f; border-radius:50%; object-fit:cover; object-position:center 34%; box-shadow:0 4px 14px rgba(83,55,20,.2); }
.nav-cta { color:#2e2418; background:#c99d4a; box-shadow:0 8px 20px rgba(114,76,23,.12); }.nav-cta:hover { background:#e1bc69; }
.nav-links a:hover,.footer a:hover,.footer a:last-child { color:#a77722; }
.eyebrow,.kicker,.text-link,.benefit-card a { color:#a77722; }
.hero:before { background:radial-gradient(circle,rgba(231,196,113,.4),transparent 68%); }
.button-primary { color:#2e2418; background:#c99d4a; }.button-primary:hover { background:#e1bc69; }.button-ghost { border-color:#d7c5a7; background:rgba(255,250,241,.48); }.button-ghost:hover { background:#fffaf1; }
.hero-visual { border-color:rgba(255,255,255,.8); background:linear-gradient(145deg,#eee2cb,#d2b982); }.window-bar { color:#806d4c; }.conversation { background:rgba(255,250,241,.9); }.message-user { color:#fffaf1; background:#5a4226; }.message-sophie { border-color:#e6d7bb; background:#fbf3e4; }.check { color:#a77722; }.answer-foot { color:#a77722; }.typing { color:#998b77; }.typing span { background:#c3a86d; }
.trust-strip { border-color:#dfd2bf; background:rgba(255,250,241,.38); }.trust-grid strong { color:#a77722; }
.section-demo { background:rgba(239,227,205,.72); }.result-card { border-color:#dfd2bf; box-shadow:0 20px 50px rgba(95,64,23,.12); }.result-badge { color:#8d651d; background:#f0dfb9; }.result-answer strong { color:#a77722; }.detail-icon { color:#a77722; }
.benefit-card { background:rgba(255,250,241,.55); }.benefit-card:first-child { background:#3b2a18; }.benefit-card:first-child p { color:#decfb8; }.benefit-card:first-child a { color:#e7c574; }.benefit-icon { color:#a77722; background:#f0e0bf; }.benefit-card:first-child .benefit-icon { color:#3b2a18; background:#e7c574; }
.film-section { padding-top:112px; padding-bottom:122px; background:rgba(255,250,241,.2); border-top:1px solid rgba(223,210,191,.65); border-bottom:1px solid rgba(223,210,191,.65); }.film-layout { display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:78px; }.film-copy h2 { max-width:520px; margin-bottom:18px; color:var(--ink); font-size:clamp(2.25rem,4vw,3.6rem); line-height:1.02; letter-spacing:-.065em; }.film-copy>p:not(.kicker) { max-width:480px; color:var(--muted); line-height:1.8; }.film-meta { display:flex; flex-wrap:wrap; gap:12px 18px; margin-top:28px; color:#806d4c; font-family:'DM Mono',monospace; font-size:.61rem; text-transform:uppercase; letter-spacing:.06em; }.film-meta span { display:inline-flex; align-items:center; gap:7px; }.film-meta i { width:7px; height:7px; border-radius:50%; background:#b8892f; box-shadow:0 0 0 4px rgba(184,137,47,.16); }.film-card { margin:0; padding:11px; border:1px solid rgba(255,255,255,.85); border-radius:21px; background:#ddc79f; box-shadow:var(--shadow); transform:rotate(1deg); }.film-card video { display:block; width:100%; max-height:590px; border-radius:13px; background:#1e1710; object-fit:cover; object-position:center; }.film-card figcaption { display:flex; align-items:center; gap:10px; padding:13px 4px 2px; color:#6f5b3d; font-size:.64rem; }.film-card figcaption strong,.film-card figcaption small { display:block; }.film-card figcaption strong { color:#3b2a18; font-size:.73rem; }.film-card figcaption small { margin-top:2px; }.film-mark { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fffaf1; background:#a77722; font-family:Georgia,serif; font-size:.9rem; }.film-caption-tag { margin-left:auto; color:#8d651d; font-family:'DM Mono',monospace; font-size:.57rem; text-transform:uppercase; letter-spacing:.08em; }
.section-proof { background:#3b2a18; }.proof-list strong { color:#e7c574; }.download-section { background:transparent; }.download-card { background:#a77722; box-shadow:0 22px 60px rgba(91,62,26,.2); }.button-light { color:#3b2a18; background:#f0d38b; }.download-actions small,.download-card p { color:#f0dfbf; }
.footer { background:rgba(245,238,226,.35); }
@media (max-width:850px) { .film-layout { grid-template-columns:1fr; gap:42px; }.film-copy { max-width:680px; }.film-card { max-width:650px; width:100%; margin:0 auto; } }
@media (max-width:600px) { .film-section { padding-top:82px; padding-bottom:88px; }.film-card video { max-height:none; }.film-caption-tag { display:none; } }
@media (prefers-color-scheme:dark) { :root { --ink:#f6eddd; --muted:#c4b59d; --paper:#211a12; --white:#2c2115; --line:#5d4a30; --mint:#554325; --green:#d1a24e; --deep:#120d08; --lime:#e7c574; } body { background-color:#211a12; background-image:radial-gradient(ellipse at 16% 8%,rgba(110,82,39,.35),transparent 38%),linear-gradient(125deg,transparent 0 35%,rgba(224,186,103,.08) 36% 37%,transparent 38%); }.trust-strip,.section-demo,.film-section,.footer { background:rgba(33,26,18,.72); }.button-ghost { background:transparent; border-color:#6e5938; }.conversation,.result-card,.benefit-card { background:#2c2115; }.message-sophie { background:#3a2c1b; border-color:#6e5938; }.film-card { background:#5d4727; }.download-card { background:#8f681f; } }

/* Palette tirée de la plaque : or métallique, ivoire et veinage gris. */
:root { --green:#B88A2A; --lime:#E8D09B; }
.brand-logo { border-color:#C9A227; }.nav-cta,.button-primary { background:#C9A227; }.nav-cta:hover,.button-primary:hover { background:#E2C25F; }.film-meta i { background:#C9A227; }.film-mark { background:#C9A227; }
body { background-color:#f5f1e9; background-image:radial-gradient(ellipse at 14% 9%,rgba(255,255,255,.92) 0 9%,transparent 42%),radial-gradient(ellipse at 86% 82%,rgba(213,191,158,.23) 0 12%,transparent 44%),linear-gradient(122deg,transparent 0 19%,rgba(87,80,71,.14) 20% 20.4%,transparent 21% 43%,rgba(120,109,93,.1) 44% 44.5%,transparent 45% 72%,rgba(87,80,71,.12) 73% 73.5%,transparent 74%),linear-gradient(67deg,transparent 0 31%,rgba(255,255,255,.65) 32% 33%,transparent 34% 59%,rgba(159,132,88,.1) 60% 60.5%,transparent 61% 88%,rgba(255,255,255,.6) 89%),linear-gradient(135deg,#faf8f3,#e7dfd2); background-attachment:fixed; }
@media (prefers-color-scheme:dark) { body { background-color:#211a12; background-image:radial-gradient(ellipse at 16% 8%,rgba(110,82,39,.35),transparent 38%),linear-gradient(125deg,transparent 0 35%,rgba(224,186,103,.08) 36% 37%,transparent 38%); } }
@media (prefers-color-scheme:dark) { .section-proof,.proof-layout h2,.benefit-card:first-child,.benefit-card:first-child h3 { color:#f6eddd; } }

/* Logo plaque et film d'ouverture. */
.brand-logo { width:86px; height:38px; border:1px solid #c79636; border-radius:7px; object-fit:cover; object-position:center; box-shadow:0 4px 14px rgba(83,55,20,.18); }
.hero-video { width:min(100%,350px); justify-self:center; margin:0; padding:11px; border-color:rgba(255,255,255,.88); background:linear-gradient(145deg,#f6e7bd,#C9A227); }
.hero-video video { display:block; width:100%; height:500px; border:1px solid rgba(255,250,241,.65); border-radius:13px; background:#261b0f; object-fit:cover; object-position:center; }
.hero-video figcaption { display:flex; align-items:center; gap:10px; padding:12px 4px 2px; color:#6f5b3d; font-size:.63rem; }.hero-video figcaption strong,.hero-video figcaption small { display:block; }.hero-video figcaption strong { color:#3b2a18; font-size:.73rem; }.hero-video figcaption small { margin-top:2px; }.hero-video .film-mark { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fffaf1; background:#C9A227; font-family:Georgia,serif; font-size:.9rem; }.video-label { margin-left:auto; color:#8d651d; font-family:'DM Mono',monospace; font-size:.55rem; text-transform:uppercase; letter-spacing:.07em; }
.brand-logo { width:132px; height:58px; border-radius:10px; border-width:2px; }
.hero { grid-template-columns:minmax(0,1.08fr) minmax(250px,.72fr) minmax(165px,.4fr); gap:32px; }.hero-copy { max-width:500px; }.hero-lead { max-width:485px; }.hero-video { width:100%; max-width:none; }.hero-metrics { display:grid; align-self:center; gap:0; padding-left:24px; border-left:1px solid rgba(184,138,42,.45); }.hero-metrics>div { padding:26px 0; border-bottom:1px solid rgba(184,138,42,.34); }.hero-metrics>div:last-child { border-bottom:0; }.hero-metrics strong,.hero-metrics span { display:block; }.hero-metrics strong { color:#9b7418; font-family:Georgia,serif; font-size:3rem; font-weight:500; line-height:1; letter-spacing:-.07em; }.hero-metrics span { max-width:155px; margin-top:10px; color:#665b4c; font-family:Manrope,system-ui,sans-serif; font-size:.78rem; font-weight:700; line-height:1.35; }
.coding-section { padding-top:112px; padding-bottom:104px; background:rgba(239,229,210,.7); border-top:1px solid rgba(184,138,42,.22); border-bottom:1px solid rgba(184,138,42,.22); }.coding-layout { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:72px; }.coding-copy h2 { max-width:500px; margin-bottom:18px; color:var(--ink); font-size:clamp(2.3rem,4vw,3.7rem); line-height:1.02; letter-spacing:-.07em; }.coding-copy>p:not(.kicker) { max-width:470px; color:var(--muted); line-height:1.8; }.coding-copy .button { margin-top:12px; }.coding-panel { overflow:hidden; border:1px solid rgba(91,62,26,.25); border-radius:17px; background:#2e2115; box-shadow:0 22px 55px rgba(91,62,26,.18); }.coding-bar { display:flex; align-items:center; gap:11px; padding:14px 17px; border-bottom:1px solid rgba(232,208,155,.17); color:#dbc89e; font-family:'DM Mono',monospace; font-size:.62rem; }.coding-bar>span { display:flex; gap:5px; }.coding-bar i { width:7px; height:7px; border-radius:50%; background:#a87521; }.coding-bar i:nth-child(2) { background:#d2a94f; }.coding-bar i:nth-child(3) { background:#ead493; }.coding-bar strong { margin-left:5px; font-weight:400; }.coding-bar em { margin-left:auto; color:#e7c574; font-style:normal; text-transform:uppercase; letter-spacing:.08em; }.coding-body { padding:24px 25px 21px; }.coding-body p { margin:0; color:#f2eadb; font-size:.78rem; line-height:1.7; }.code-muted { color:#b7a88d; }.code-gold { color:#e7c574; }.code-separator { height:1px; margin:18px 0; background:rgba(232,208,155,.17); }.coding-body pre { overflow:auto; margin:20px 0 18px; padding:16px 18px; border:1px solid rgba(232,208,155,.14); border-radius:10px; background:#21170f; color:#f5e9ce; font:500 .76rem/1.7 'DM Mono',monospace; }.code-keyword { color:#e7c574; }.code-result { display:flex; flex-wrap:wrap; gap:12px 19px; color:#dfcfad; font-family:'DM Mono',monospace; font-size:.61rem; }.code-result span:first-child,.code-result span:nth-child(2) { color:#ddc47e; }.coding-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:60px; }.coding-steps>div { display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:start; padding-top:15px; border-top:2px solid #C9A227; }.coding-steps strong { color:#9b7418; font-family:'DM Mono',monospace; font-size:.69rem; }.coding-steps span { color:#665b4c; font-size:.78rem; font-weight:700; line-height:1.55; }
.trust-grid { grid-template-columns:repeat(3,1fr); gap:16px; padding-top:16px; padding-bottom:16px; }.trust-grid>div,.trust-grid>div:first-child,.trust-grid>div:last-child { min-height:126px; padding:25px 28px; border:1px solid rgba(201,162,39,.34); border-radius:15px; background:rgba(255,250,241,.64); box-shadow:0 10px 24px rgba(91,62,26,.06); }.trust-grid strong { margin-bottom:7px; color:#9b7418; font-size:2rem; }.trust-grid span { display:block; max-width:180px; font-size:.71rem; line-height:1.5; }
.footer-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 16px; }.footer-links a { color:#8d651d; font-weight:700; }.footer-links a:hover { color:#C9A227; }
.proof-card h3 { max-width:560px; font-size:1.08rem; line-height:1.45; }.proof-card .result-answer strong { font-size:3.55rem; letter-spacing:-.07em; white-space:nowrap; }.proof-mini { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:25px; }.proof-mini>div { display:grid; grid-template-columns:25px 1fr; gap:9px; padding:13px 11px; border:1px solid #e4d8c5; border-radius:11px; background:rgba(249,243,232,.65); }.proof-mini b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fffaf1; background:#C9A227; font-family:'DM Mono',monospace; font-size:.63rem; }.proof-mini span { color:#756957; font-size:.69rem; line-height:1.55; }.proof-conclusion { display:flex; gap:10px; align-items:flex-start; margin-top:22px; padding-top:19px; border-top:1px solid var(--line); }.proof-conclusion b,.proof-conclusion small { display:block; }.proof-conclusion b { font-size:.72rem; }.proof-conclusion small { margin-top:3px; color:var(--muted); font-size:.64rem; line-height:1.5; }
.legal-main { padding-top:92px; padding-bottom:115px; }.legal-heading { max-width:760px; padding-bottom:48px; border-bottom:1px solid var(--line); }.legal-heading h1 { max-width:760px; margin-bottom:20px; font-size:clamp(3rem,6vw,5.2rem); }.legal-intro { max-width:640px; margin-bottom:17px; color:var(--muted); font-size:1.08rem; line-height:1.75; }.legal-date { margin:0; color:#8d651d; font-family:'DM Mono',monospace; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }.legal-prose { max-width:760px; padding-top:46px; }.legal-prose section { padding:0 0 31px; margin-bottom:31px; border-bottom:1px solid rgba(223,210,191,.7); }.legal-prose section:last-child { border-bottom:0; }.legal-prose h2 { margin-bottom:11px; color:var(--ink); font-size:1.2rem; letter-spacing:-.025em; }.legal-prose p,.legal-prose li { color:var(--muted); font-size:.9rem; line-height:1.8; }.legal-prose p + p { margin-top:13px; }.legal-prose ul { margin:10px 0 0; padding-left:21px; }.legal-prose li + li { margin-top:7px; }.legal-prose a { color:#8d651d; font-weight:800; text-decoration:underline; text-decoration-color:rgba(201,162,39,.45); text-underline-offset:3px; }
@media (max-width:1000px) { .hero { grid-template-columns:minmax(0,1fr) minmax(245px,.72fr); gap:28px; }.hero-metrics { grid-column:1/-1; grid-template-columns:repeat(3,1fr); gap:18px; padding:24px 0 0; border-left:0; border-top:1px solid rgba(184,138,42,.45); }.hero-metrics>div { padding:0 18px 0 0; border-bottom:0; border-right:1px solid rgba(184,138,42,.34); }.hero-metrics>div:last-child { border-right:0; }.hero-metrics strong { font-size:2.55rem; }.hero-metrics span { max-width:none; font-size:.75rem; }.coding-layout { grid-template-columns:1fr; gap:43px; }.coding-copy { max-width:690px; }.coding-panel { max-width:700px; width:100%; } }
@media (max-width:600px) { .brand-logo { width:108px; height:48px; }.hero { grid-template-columns:1fr; gap:30px; }.hero-metrics { grid-template-columns:1fr; gap:0; padding:11px 0 0; }.hero-metrics>div,.hero-metrics>div:last-child { padding:19px 0; border-right:0; border-bottom:1px solid rgba(184,138,42,.34); }.hero-metrics>div:last-child { border-bottom:0; }.hero-metrics strong { font-size:2.35rem; }.hero-metrics span { max-width:none; font-size:.78rem; }.coding-section { padding-top:80px; padding-bottom:82px; }.coding-steps { grid-template-columns:1fr; gap:25px; margin-top:42px; }.coding-steps>div { grid-template-columns:33px 1fr; }.coding-body { padding:20px 16px 18px; }.coding-bar { padding:12px 13px; }.coding-bar strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.coding-bar em { display:none; }.coding-body pre { font-size:.67rem; padding:13px 12px; }.trust-grid { grid-template-columns:1fr; gap:10px; padding-top:10px; padding-bottom:10px; }.trust-grid>div,.trust-grid>div:first-child,.trust-grid>div:last-child { min-height:86px; padding:18px 20px; }.trust-grid strong { font-size:1.65rem; }.trust-grid span { max-width:none; }.footer-links { justify-content:flex-start; }.proof-mini { grid-template-columns:1fr; }.proof-card .result-answer strong { font-size:3rem; }.legal-main { padding-top:58px; padding-bottom:78px; }.legal-heading { padding-bottom:34px; }.legal-heading h1 { font-size:3rem; }.legal-intro { font-size:.95rem; }.legal-prose { padding-top:34px; }.legal-prose p,.legal-prose li { font-size:.86rem; } }
@media (max-width:600px) { .brand-logo { width:72px; height:34px; }.hero-video { width:min(100%,300px); }.hero-video video { height:430px; }.video-label { display:none; } }

/* Pages éditoriales : même matière ivoire/or, avec une lecture plus documentaire. */
body { overflow-x:hidden; }
.editorial-page .site-header { border-bottom:1px solid rgba(201,162,39,.18); background:rgba(245,241,233,.72); backdrop-filter:blur(10px); }
.editorial-page .nav-links { gap:16px; font-size:.72rem; }
.editorial-page .nav-links a[aria-current="page"] { color:#9b7418; }
.page-hero { padding-top:100px; padding-bottom:86px; }
.page-hero h1 { max-width:850px; margin:0 0 22px; color:var(--ink); font-size:clamp(3rem,7vw,6rem); line-height:.98; letter-spacing:-.075em; }
.page-lead { max-width:720px; margin:0 0 22px; color:var(--muted); font-size:1.08rem; line-height:1.8; }
.site-date { margin:0; color:#8d651d; font:500 .64rem/1.4 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.editorial-section { padding-top:104px; padding-bottom:110px; }
.editorial-section + .editorial-section { border-top:1px solid rgba(184,138,42,.15); }
.section-heading { max-width:760px; margin-bottom:44px; }
.section-heading h2,.table-heading h2,.two-column h2,.contact-block h2 { max-width:760px; margin:0 0 16px; color:var(--ink); font-size:clamp(2.2rem,4.5vw,4rem); line-height:1.02; letter-spacing:-.07em; }
.section-heading>p:last-child,.table-heading>p,.two-column>div>p:not(.kicker),.contact-block p { color:var(--muted); line-height:1.8; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.info-card,.detail-card { min-height:235px; padding:28px; border:1px solid rgba(201,162,39,.3); border-radius:18px; background:rgba(255,250,241,.58); box-shadow:0 12px 30px rgba(91,62,26,.05); }
.info-card h3,.detail-card h3 { margin:24px 0 10px; color:var(--ink); font-size:1.18rem; letter-spacing:-.035em; }
.info-card p,.detail-card p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.75; }
.card-index { color:#9b7418; font:500 .66rem/1 'DM Mono',monospace; letter-spacing:.1em; }
.example-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:16px; }
.example-card { padding:20px 17px; border-radius:15px; background:#3b2a18; color:#fffaf1; box-shadow:0 12px 26px rgba(91,62,26,.1); }
.example-card>span { color:#e7c574; font:500 .59rem/1 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.example-card h3 { min-height:42px; margin:18px 0 8px; font-size:1rem; line-height:1.25; }
.example-card p { margin:0 0 10px; color:#e7c574; font:400 1.2rem/1.15 Georgia,serif; }
.example-card small { color:#decfb8; font-size:.68rem; line-height:1.5; }
.editorial-tint { background:rgba(239,229,210,.62); }
.editorial-dark { background:#3b2a18; color:#fffaf1; }
.editorial-dark h2,.editorial-dark h3 { color:#fffaf1; }
.editorial-dark .kicker { color:#e7c574; }
.editorial-dark p,.editorial-dark span { color:#decfb8; }
.two-column { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; align-items:center; }
.align-start { align-items:start; }
.source-stack,.method-card-list,.rule-list { display:grid; gap:12px; }
.source-card,.method-card-list>div,.rule-list>div { display:flex; flex-direction:column; gap:5px; padding:20px 22px; border-left:3px solid #c9a227; border-radius:0 13px 13px 0; background:rgba(255,250,241,.72); }
.source-card strong,.method-card-list strong,.rule-list strong { color:#8d651d; font-size:.86rem; }
.source-card span,.method-card-list span,.rule-list span { color:var(--muted); font-size:.8rem; line-height:1.6; }
.quote-panel { padding:30px; border:1px solid rgba(201,162,39,.35); border-radius:18px; background:rgba(255,250,241,.64); box-shadow:0 16px 35px rgba(91,62,26,.07); }
.quote-panel p { margin:0 0 10px; color:#8d651d; font:400 1.55rem/1.3 Georgia,serif; }
.quote-panel span { color:var(--muted); font-size:.75rem; }
.dark-note { padding:27px; border:1px solid rgba(231,197,116,.35); border-radius:18px; background:rgba(255,255,255,.06); }
.dark-note h3 { margin:20px 0 10px; font-size:1.2rem; }
.dark-note p { margin:0 0 10px; line-height:1.75; }
.dark-note p:last-child { margin-bottom:0; }
.process-row,.method-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.process-row>div { padding:22px; border-top:2px solid #c9a227; background:rgba(255,250,241,.62); }
.process-row strong,.method-flow strong { display:block; color:#9b7418; font:500 1.6rem/1 Georgia,serif; }
.process-row span,.process-row small { display:block; }.process-row span { margin-top:17px; color:var(--ink); font-weight:800; font-size:.85rem; }.process-row small { margin-top:5px; color:var(--muted); font-size:.72rem; }
.timing-card,.audit-card { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:20px; border:1px solid rgba(201,162,39,.32); border-radius:17px; background:rgba(255,250,241,.65); }
.timing-card strong,.audit-card strong { color:#9b7418; font:400 clamp(1.45rem,3vw,2.4rem)/1 Georgia,serif; }.timing-card span,.audit-card span { color:var(--muted); font-size:.7rem; line-height:1.5; }.timing-card>* { padding:20px 15px; border-bottom:1px solid var(--line); }.timing-card>*:nth-last-child(-n+2) { border-bottom:0; }
.table-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:34px; }.table-heading>div { flex:1; }.table-heading>p { max-width:460px; margin:0; font-size:.82rem; }
.table-wrap { overflow-x:auto; border:1px solid rgba(201,162,39,.32); border-radius:17px; background:rgba(255,250,241,.7); box-shadow:0 14px 32px rgba(91,62,26,.05); }
.data-table { width:100%; border-collapse:collapse; color:var(--ink); font-size:.78rem; }.data-table th,.data-table td { padding:17px 18px; text-align:left; vertical-align:top; border-bottom:1px solid rgba(223,210,191,.75); }.data-table thead th { color:#8d651d; background:rgba(240,224,191,.5); font:500 .64rem/1.4 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.07em; }.data-table tbody tr:last-child th,.data-table tbody tr:last-child td { border-bottom:0; }.data-table tbody th { width:33%; font-weight:800; }.data-table tbody th span { display:block; margin-top:4px; color:var(--muted); font-size:.7rem; font-weight:500; line-height:1.45; }.data-table td { color:var(--muted); line-height:1.55; }.data-table td strong { color:#9b7418; font:400 1.28rem/1 Georgia,serif; white-space:nowrap; }.evolution-table tbody th { width:34%; }.evolution-table .current-row { background:rgba(240,224,191,.35); }.culture-evolution { margin-top:24px; padding:23px 25px; border-left:3px solid #c9a227; background:rgba(255,250,241,.62); }.culture-evolution h3 { margin:0 0 9px; font-size:1rem; }.culture-evolution p { margin:5px 0 0; color:var(--muted); font-size:.82rem; }.culture-evolution strong { color:#9b7418; }
.detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.detail-card { min-height:280px; }.detail-card p + p { margin-top:12px; }.detail-card-accent { background:#3b2a18; }.detail-card-accent h3 { color:#fffaf1; }.detail-card-accent p { color:#decfb8; }.detail-card-accent p strong { color:#e7c574; }
.method-flow { grid-template-columns:repeat(4,1fr); margin-top:40px; }.method-flow>div { min-height:200px; padding:23px; border:1px solid rgba(201,162,39,.3); border-radius:16px; background:rgba(255,250,241,.56); }.method-flow h3 { margin:28px 0 9px; font-size:1rem; }.method-flow p { margin:0; color:var(--muted); font-size:.77rem; line-height:1.65; }.notice-panel { display:flex; justify-content:space-between; gap:25px; margin-top:15px; padding:18px 22px; border-radius:12px; color:#fffaf1; background:#3b2a18; }.notice-panel strong { color:#e7c574; font-size:.82rem; }.notice-panel span { color:#decfb8; font-size:.72rem; }
.dark-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:40px; }.dark-stats div { padding:22px 0; border-top:1px solid rgba(231,197,116,.45); }.dark-stats strong { display:block; color:#e7c574; font:400 clamp(2rem,4vw,3.3rem)/1 Georgia,serif; }.dark-stats span { display:block; margin-top:8px; color:#decfb8; font-size:.74rem; }.dark-footnote { margin:32px 0 0; color:#decfb8; font-size:.75rem; }
.compare-wrap { border-radius:0; }.compare-table { min-width:900px; }.compare-table thead th:not(:first-child) { width:21%; }.compare-table tbody th { width:21%; }.compare-table td { color:var(--ink); }.compare-table td:first-of-type { color:#8d651d; font-weight:800; }.compare-table tbody tr:nth-child(even) { background:rgba(240,224,191,.23); }
.usage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.usage-grid article { padding:24px; border-top:2px solid #c9a227; background:rgba(255,250,241,.62); }.usage-grid span { color:#9b7418; font:500 .61rem/1 'DM Mono',monospace; letter-spacing:.1em; }.usage-grid h3 { margin:18px 0 9px; font-size:1rem; }.usage-grid p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.65; }
.contact-block { display:flex; align-items:center; justify-content:space-between; gap:30px; }.contact-block h2 { margin-bottom:8px; }.contact-placeholder { display:inline-flex; padding:13px 17px; border:1px dashed #c9a227; border-radius:100px; color:#8d651d; font:500 .68rem/1 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.limitation-list { display:grid; gap:0; }.limitation-list article { display:grid; grid-template-columns:150px 1fr; gap:40px; align-items:start; padding:34px 0; border-bottom:1px solid rgba(201,162,39,.3); }.limitation-list article:first-child { padding-top:0; }.limitation-list article:last-child { border-bottom:0; }.limitation-score { color:#9b7418; font:400 clamp(2.1rem,4vw,3.7rem)/1 Georgia,serif; letter-spacing:-.06em; }.limitation-list h2 { margin:0 0 10px; color:var(--ink); font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.05; letter-spacing:-.05em; }.limitation-list p:not(.kicker) { max-width:690px; margin:0; color:var(--muted); line-height:1.75; }
.faq-list { max-width:900px; margin:0 auto; border-top:1px solid rgba(201,162,39,.35); }.faq-list details { padding:23px 0; border-bottom:1px solid rgba(201,162,39,.35); }.faq-list summary { cursor:pointer; list-style:none; color:var(--ink); font-size:1.08rem; font-weight:800; letter-spacing:-.025em; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary:after { content:'+'; float:right; color:#9b7418; font:400 1.4rem/1 Georgia,serif; }.faq-list details[open] summary:after { content:'−'; }.faq-list details p { max-width:760px; margin:15px 35px 0 0; color:var(--muted); font-size:.87rem; line-height:1.8; }
@media (max-width:1000px) { .editorial-page .nav-links { gap:11px; }.page-hero { padding-top:76px; }.feature-grid,.detail-grid { grid-template-columns:repeat(2,1fr); }.example-grid { grid-template-columns:repeat(3,1fr); }.two-column { gap:45px; }.usage-grid { grid-template-columns:repeat(2,1fr); }.method-flow { grid-template-columns:repeat(2,1fr); } }
@media (max-width:850px) { .editorial-page .nav-links { display:none; }.page-hero { padding-top:64px; padding-bottom:65px; }.editorial-section { padding-top:78px; padding-bottom:82px; }.table-heading { display:block; }.table-heading>p { margin-top:18px; }.two-column { grid-template-columns:1fr; gap:34px; }.contact-block { display:block; }.contact-placeholder { margin-top:18px; }.notice-panel { display:block; }.notice-panel span { display:block; margin-top:8px; } }
@media (max-width:600px) { .page-hero h1 { font-size:3.15rem; }.page-lead { font-size:.95rem; }.feature-grid,.detail-grid,.example-grid,.usage-grid,.method-flow { grid-template-columns:1fr; }.info-card,.detail-card { min-height:auto; }.example-card h3 { min-height:auto; }.process-row,.dark-stats { grid-template-columns:1fr; }.timing-card,.audit-card { grid-template-columns:1fr; }.timing-card>*:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }.timing-card>*:last-child { border-bottom:0; }.limitation-list article { grid-template-columns:1fr; gap:14px; padding:28px 0; }.limitation-score { font-size:2.5rem; }.data-table { font-size:.7rem; }.data-table th,.data-table td { padding:13px 12px; }.data-table tbody th { width:auto; }.compare-table { min-width:0; table-layout:fixed; font-size:.62rem; }.compare-table th,.compare-table td { padding:10px 7px; overflow-wrap:anywhere; }.compare-table thead th { font-size:.49rem; }.compare-table tbody th span { font-size:.58rem; }.footer-links { gap:8px 12px; } }
@media (prefers-color-scheme:dark) { .editorial-page .site-header { background:rgba(33,26,18,.84); border-color:#5d4a30; }.editorial-tint { background:rgba(33,26,18,.6); }.info-card,.detail-card,.process-row>div,.source-card,.method-card-list>div,.rule-list>div,.quote-panel,.timing-card,.audit-card,.table-wrap,.usage-grid article,.culture-evolution { background:rgba(44,33,21,.88); border-color:#5d4a30; }.data-table thead th { background:rgba(93,74,48,.48); }.data-table th,.data-table td { border-color:#5d4a30; }.compare-table tbody tr:nth-child(even) { background:rgba(93,74,48,.24); }.contact-placeholder { border-color:#e7c574; } }

/* V1 : chiffres comparatifs, état de préparation et identité SophIA. */
.brand-word { color:#8d651d; font-weight:800; letter-spacing:-.04em; }
.chart-note { margin:16px 0 0; color:var(--muted); font-size:.75rem; line-height:1.6; }
.chart-figure { margin:0; }
.chart-figure figcaption { margin-top:12px; color:var(--muted); font-size:.72rem; line-height:1.55; }
.bar-chart { padding:24px 25px 20px; border:1px solid rgba(201,162,39,.3); border-radius:17px; background:rgba(255,250,241,.72); }
.chart-axis { display:flex; justify-content:space-between; margin:0 0 10px 180px; color:#9b7418; font:500 .58rem/1 'DM Mono',monospace; }
.bar-row { display:grid; grid-template-columns:165px minmax(0,1fr); align-items:center; gap:15px; margin:13px 0; }
.bar-row b { color:var(--ink); font-size:.73rem; }
.bar-row b span { float:right; margin-left:8px; color:#9b7418; font:500 .66rem/1 'DM Mono',monospace; }
.bar-track { position:relative; height:18px; overflow:hidden; border-radius:100px; background:repeating-linear-gradient(90deg,rgba(201,162,39,.13) 0,rgba(201,162,39,.13) 1px,transparent 1px,transparent 25%); }
.bar-fill { display:block; height:100%; border-radius:100px; background:#C9A227; }
.bar-fill-alt { background:#8c6a31; }
.range-track { overflow:visible; }
.range-track .bar-fill { opacity:.72; }
.range-track em { position:absolute; top:-3px; width:2px; height:24px; background:#3b2a18; }
.compact { padding:20px 22px 17px; }
.compact .chart-axis { margin-left:160px; }
.versions-links,.versions-footer-links{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:18px;font-size:.78rem;font-weight:700}.versions-links a,.versions-footer-links a{color:var(--muted)}.versions-links a:hover,.versions-footer-links a:hover{color:var(--green)}.versions-footer-links{margin:12px 0 0}.versions-footer-links a{font-size:.72rem}@media(max-width:850px){.versions-links{display:none}}
.subject-compare { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.subject-card { display:grid; gap:25px; padding:27px; border:1px solid rgba(201,162,39,.3); border-radius:18px; background:rgba(255,250,241,.58); }
.subject-card h3 { margin:18px 0 9px; font-size:1.16rem; }
.subject-card p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.7; }
.chart-figure-dark .bar-chart { border-color:rgba(231,197,116,.35); background:rgba(255,255,255,.06); }
.chart-figure-dark .bar-row b { color:#fffaf1; }
.chart-figure-dark .bar-row b span,.chart-figure-dark .chart-axis { color:#e7c574; }
.chart-figure-dark .bar-track { background:repeating-linear-gradient(90deg,rgba(231,197,116,.2) 0,rgba(231,197,116,.2) 1px,transparent 1px,transparent 25%); }
.chart-figure-dark figcaption { color:#decfb8; }
.config-main { padding-top:84px; padding-bottom:100px; }
.config-header { border-bottom:1px solid var(--line); }
.config-header .nav-link { color:#8d651d; font-size:.78rem; font-weight:800; }
.config-main h1 { max-width:820px; margin:0 0 18px; font-size:clamp(3rem,6vw,5.3rem); }
.config-intro { max-width:700px; color:var(--muted); font-size:1.05rem; line-height:1.75; }
.provisional-notice { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; padding:14px 18px; border:1px solid #c9a227; border-radius:12px; color:#3b2a18; background:#f0dfb9; font-size:.78rem; }
.provisional-notice strong { text-transform:uppercase; letter-spacing:.04em; }
.config-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:48px; }
.config-card { padding:30px; border:1px solid rgba(201,162,39,.3); border-radius:18px; background:rgba(255,250,241,.65); box-shadow:0 12px 30px rgba(91,62,26,.05); }
.config-card-wide { max-width:760px; margin-top:48px; }
.config-card-accent { color:#fffaf1; background:#3b2a18; }
.config-label { margin:0 0 16px; color:#9b7418; font:500 .65rem/1 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.config-card-accent .config-label { color:#e7c574; }
.config-card h2 { margin:0 0 20px; font-size:1.7rem; }
.specs { margin:0; }
.specs>div { display:grid; grid-template-columns:170px 1fr; gap:18px; padding:15px 0; border-bottom:1px solid var(--line); }
.specs>div:last-child { border-bottom:0; }
.specs dt { color:#9b7418; font:500 .63rem/1.4 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.06em; }
.specs dd { margin:0; color:var(--muted); font-size:.84rem; line-height:1.55; }
.config-card-accent .specs dd { color:#decfb8; }
.notice { max-width:760px; margin:20px 0 35px; padding:24px 26px; border-left:3px solid #c9a227; background:rgba(240,224,191,.45); }
.notice h2 { margin:0 0 8px; font-size:1rem; }
.notice p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.7; }
.back-link { margin-top:12px; }
@media (max-width:900px) { .subject-compare { grid-template-columns:1fr; } }
@media (max-width:600px) { .brand-word { display:none; }.nav-cta { max-width:180px; padding:9px 10px; font-size:.63rem; line-height:1.2; text-align:center; }.bar-chart { padding:19px 14px 15px; }.chart-axis { margin-left:0; }.bar-row,.compact .bar-row { grid-template-columns:1fr; gap:6px; margin:16px 0; }.bar-row b span { float:right; }.config-main { padding-top:52px; }.provisional-notice { display:block; }.provisional-notice span { display:block; margin-top:5px; }.config-card-wide { margin-top:32px; }.specs>div { grid-template-columns:1fr; gap:5px; }.config-card { padding:22px 18px; }.legal-main .provisional-notice { margin-bottom:24px; } }

/* Comparaison chiffree (30/09) */
.compare-figure{margin:1.5rem 0 1rem}
.compare-figure img{width:100%;height:auto;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff}
.compare-figure figcaption{font-size:.92rem;opacity:.8;margin-top:.5rem;line-height:1.45}

.footer-contact{font-size:.9rem;opacity:.85;margin:.3rem 0 0;overflow-wrap:anywhere}

/* Espace compte (connexion, profil, soumissions) — 01/10. */
[hidden] { display:none !important; }
.compte-main { padding-bottom:110px; }
.compte-main h1 { font-size:clamp(2.6rem,6vw,4.6rem); }
.compte-nav { display:flex; align-items:center; gap:18px; }
.lien-bouton { padding:0; border:0; background:none; color:#8d651d; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.lien-bouton:hover { color:#C9A227; }
button.button { border:0; cursor:pointer; font-family:inherit; }
button.button-ghost { border:1px solid var(--line); }
.button:disabled,.button[aria-disabled="true"] { opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }
.compte-boite { max-width:560px; margin-top:38px; padding:28px; border:1px solid rgba(201,162,39,.3); border-radius:18px; background:rgba(255,250,241,.7); box-shadow:0 12px 30px rgba(91,62,26,.06); }
.onglets { display:flex; gap:6px; margin-bottom:24px; padding:5px; border-radius:100px; background:rgba(240,224,191,.55); }
.onglets button { flex:1; min-height:42px; padding:0 12px; border:0; border-radius:100px; background:transparent; color:var(--muted); font:inherit; font-size:.82rem; font-weight:800; cursor:pointer; }
.onglets button[aria-selected="true"] { background:var(--white); color:var(--ink); box-shadow:0 4px 12px rgba(91,62,26,.1); }
.compte-form { display:grid; gap:8px; min-width:0; }
.compte-form label { margin-top:8px; color:var(--ink); font-size:.8rem; font-weight:800; }
.compte-form label small { color:var(--muted); font-weight:500; }
.compte-form input[type=email],.compte-form input[type=password],.compte-form input[type=text],.compte-form select,.compte-form textarea { width:100%; min-height:46px; padding:11px 14px; border:1px solid var(--line); border-radius:11px; background:var(--white); color:var(--ink); font:inherit; font-size:.92rem; }
.compte-form textarea { min-height:120px; resize:vertical; line-height:1.5; }
.compte-form input[type=file] { width:100%; max-width:100%; padding:10px 0; color:var(--muted); font:inherit; font-size:.82rem; }
.compte-form input:focus,.compte-form select:focus,.compte-form textarea:focus,.onglets button:focus-visible,.lien-bouton:focus-visible,.button:focus-visible { outline:2px solid #C9A227; outline-offset:2px; }
.compte-form .case { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; margin-top:12px; font-weight:600; color:var(--muted); line-height:1.55; }
.compte-form .case input { width:18px; height:18px; margin:2px 0 0; accent-color:#B88A2A; }
.compte-form .case a,.compte-aide a,.compte-note a,.compte-texte a { color:#8d651d; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.compte-form .accord { padding:14px; border:1px solid rgba(201,162,39,.45); border-radius:12px; background:rgba(240,224,191,.35); color:var(--ink); }
.compte-form .button { margin-top:14px; justify-self:start; }
.compte-statut { min-height:1.2em; margin:6px 0 0; color:var(--muted); font-size:.84rem; line-height:1.55; }
.compte-statut.ok { color:#3f7a3a; font-weight:700; }
.compte-statut.erreur { color:#a3361f; font-weight:700; }
.compte-aide,.compte-note { margin:8px 0 0; color:var(--muted); font-size:.78rem; line-height:1.65; }
.compte-note { margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
.compte-grille { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin-top:40px; }
.compte-grille .config-card { min-width:0; }
.compte-grille .specs>div { grid-template-columns:130px 1fr; }
.compte-grille .specs dd { overflow-wrap:anywhere; }
.compte-texte { color:#decfb8; font-size:.86rem; line-height:1.7; }
.machines,.envois { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.machine { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); }
.machine:last-child { border-bottom:0; }
.machine-texte { display:grid; gap:2px; min-width:0; }
.machine-texte strong { color:var(--ink); font-size:.88rem; }
.machine-texte span,.machine-texte small { color:var(--muted); font-size:.76rem; overflow-wrap:anywhere; }
.machine-texte small { font-family:'DM Mono',monospace; font-size:.66rem; }
.bouton-petit { min-height:38px; padding:0 14px; font-size:.74rem; white-space:nowrap; }
.vide { color:var(--muted); font-size:.84rem; }
.compte-section { margin-top:70px; padding-top:52px; border-top:1px solid rgba(184,138,42,.25); }
.compte-section h2 { margin:0 0 22px; font-size:clamp(2rem,4.5vw,3.2rem); line-height:1.02; letter-spacing:-.06em; }
.compte-deux { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:44px; align-items:start; }
.compte-explique p,.compte-explique li { color:var(--muted); font-size:.88rem; line-height:1.75; }
.compte-explique h3,.compte-sous-titre { margin:24px 0 10px; color:var(--ink); font-size:1.05rem; }
.compte-explique ol { margin:0; padding-left:20px; }
.compte-explique li + li { margin-top:8px; }
.compte-explique strong { color:var(--ink); }
#form-soumission { padding:26px; border:1px solid rgba(201,162,39,.3); border-radius:18px; background:rgba(255,250,241,.7); }
.compte-sous-titre { margin-top:44px; }
.envoi { display:grid; gap:5px; padding:16px 18px; border-left:3px solid #c9a227; border-radius:0 13px 13px 0; background:rgba(255,250,241,.72); }
.envoi-tete { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; }
.envoi-tete strong { color:var(--ink); font-size:.92rem; overflow-wrap:anywhere; }
.envoi-meta { color:var(--muted); font-size:.75rem; overflow-wrap:anywhere; }
.envoi-note { margin:4px 0 0; color:var(--ink); font-size:.8rem; font-style:italic; }
.etat { padding:5px 10px; border-radius:100px; font:500 .62rem/1.3 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }
.etat-recue { color:#7a5a17; background:#f0dfb9; }
.etat-en_verification { color:#2d5a7a; background:#dbe9f3; }
.etat-acceptee { color:#2f6a2b; background:#dcefd6; }
.etat-refusee { color:#8f2f1b; background:#f6dcd3; }
.zone-sensible p { max-width:720px; color:var(--muted); font-size:.88rem; line-height:1.75; }
.zone-sensible h2 { font-size:clamp(1.6rem,3.5vw,2.3rem); }
.zone-sensible .compte-form { max-width:520px; margin-top:12px; }
.compte-actions { display:flex; flex-wrap:wrap; gap:10px; }
.compte-actions .button { margin-top:14px; }
.bouton-danger { color:#fffaf1; background:#a3361f; }
.bouton-danger:hover { background:#bf4a2f; }
.bandeau-compte { position:relative; z-index:3; background:#3b2a18; color:#fffaf1; }
.bandeau-compte-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 18px; padding:12px 0; font-size:.84rem; font-weight:700; }
.bandeau-compte-lien { padding:8px 14px; border-radius:100px; color:#3b2a18; background:#e7c574; font-weight:800; white-space:nowrap; }
.bandeau-compte-lien:hover { background:#f0d38b; }
.download-config { color:#f0dfbf; font-size:.74rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:850px) { .compte-grille,.compte-deux { grid-template-columns:1fr; } }
@media (max-width:600px) { .compte-boite,#form-soumission { padding:20px 16px; }.compte-nav { gap:12px; }.compte-nav .nav-link { display:none; }.machine { align-items:flex-start; flex-direction:column; }.compte-grille .specs>div { grid-template-columns:1fr; }.compte-section { margin-top:48px; padding-top:38px; }.bandeau-compte-inner { font-size:.78rem; } }
@media (prefers-color-scheme:dark) { .config-card:not(.config-card-accent),.compte-boite,#form-soumission,.envoi { background:rgba(44,33,21,.88); border-color:#5d4a30; }.onglets { background:rgba(93,74,48,.5); }.compte-form .accord { background:rgba(93,74,48,.35); }.compte-statut.ok { color:#9fd18f; }.compte-statut.erreur { color:#f0a08a; } }

/* ==== Pages par sujet, navigation « Capacités », graphiques à l'échelle (01/10, soir) ==== */
:root { --c-sophie:#b8892f; --c-autre:#3d6fa8; --c-erreur:#b0452c; --c-sur-sophie:#2e2418; --c-sur-erreur:#fffaf1; --carte:rgba(255,250,241,.72); --carte-bord:rgba(201,162,39,.3); }
@media (prefers-color-scheme:dark) { :root { --c-sophie:#b5893a; --c-autre:#5a89c4; --c-erreur:#d0603f; --c-sur-sophie:#1c140c; --c-sur-erreur:#1c140c; --carte:rgba(44,33,21,.88); --carte-bord:#5d4a30; } }

/* pied de page : une adresse ne se coupe jamais en son milieu */
.footer-contact { overflow-wrap:normal; }
.footer-contact:has(> span) { display:flex; flex-wrap:wrap; gap:4px 18px; }
.footer-contact a { white-space:nowrap; }

/* connexion : la boîte au centre d'une colonne étroite, plus de grand vide à droite */
.compte-main:has(> .compte-boite) { width:min(640px,calc(100% - 48px)); }
.compte-main:has(> .compte-boite) .compte-boite { max-width:none; }

/* navigation : menu Capacités (survol ou clavier), menu mobile */
.nav-menu { position:relative; display:flex; align-items:center; }
.nav-menu-titre span { font-size:.7em; }
.nav-links a[aria-current="true"],.nav-links a[aria-current="page"] { color:#9b7418; }
.nav-sous { position:absolute; top:100%; left:-18px; z-index:30; display:none; width:330px; padding:10px; margin-top:10px; border:1px solid var(--carte-bord); border-radius:16px; background:var(--white); box-shadow:0 18px 40px rgba(59,42,24,.16); }
.nav-sous:before { content:""; position:absolute; top:-12px; left:0; right:0; height:12px; }
.nav-menu:hover .nav-sous,.nav-menu:focus-within .nav-sous { display:grid; gap:2px; }
.nav-sous a { display:grid; gap:2px; padding:9px 12px; border-radius:10px; }
.nav-sous a:hover,.nav-sous a:focus-visible { background:rgba(240,224,191,.55); }
.nav-sous b { color:var(--ink); font-size:.8rem; }
.nav-sous small { color:var(--muted); font-weight:500; font-size:.7rem; }
.nav-sous a[aria-current="page"] b { color:#9b7418; }
.nav-mobile { display:none; position:relative; margin-left:auto; }
.nav-mobile summary { list-style:none; cursor:pointer; padding:9px 14px; border:1px solid var(--carte-bord); border-radius:100px; color:var(--ink); font-size:.74rem; font-weight:800; }
.nav-mobile summary::-webkit-details-marker { display:none; }
.nav-mobile summary:after { content:" ▾"; font-size:.7em; }
.nav-mobile[open] summary:after { content:" ▴"; }
.nav-mobile-panneau { position:absolute; right:0; top:calc(100% + 8px); z-index:30; display:grid; width:min(300px,calc(100vw - 32px)); padding:8px; border:1px solid var(--carte-bord); border-radius:16px; background:var(--white); box-shadow:0 18px 40px rgba(59,42,24,.18); }
.nav-mobile-panneau a { padding:11px 12px; border-radius:10px; color:var(--ink); font-size:.86rem; font-weight:700; }
.nav-mobile-panneau a[aria-current="page"] { color:#9b7418; background:rgba(240,224,191,.5); }
@media (max-width:850px) { .nav-mobile { display:block; } .nav { gap:12px; } }

/* graphiques : couleurs vérifiées (daltonisme, contraste), axes alignés sur la piste */
.bar-fill { min-width:3px; background:var(--c-sophie); }
.bar-fill-alt { background:var(--c-autre); }
.bar-fill-err { background:var(--c-erreur); }
.bar-fill-avant { background:var(--c-sophie); opacity:.42; }
.range-track2 .bar-fill { border-radius:100px 0 0 100px; }
.bar-plage { position:absolute; top:0; height:100%; border-radius:0 100px 100px 0; background:repeating-linear-gradient(135deg,var(--c-autre) 0 3px,transparent 3px 6px); box-shadow:inset 0 0 0 1px var(--c-autre); }
.bar-chart { background:var(--carte); border-color:var(--carte-bord); }
.chart-axis,.compact .chart-axis { position:relative; display:block; height:12px; margin:0 0 6px 180px; }
.chart-axis span { position:absolute; top:0; white-space:nowrap; }
.chart-axis span:first-child { left:0; }
.chart-axis span:last-child { right:0; }
.chart-axis span:nth-child(2):not(:last-child) { left:50%; transform:translateX(-50%); }
.graph-titre { margin:0 0 10px; color:var(--ink); font-size:.86rem; font-weight:800; letter-spacing:-.01em; }
.legende { display:flex; flex-wrap:wrap; gap:6px 16px; margin:0 0 14px; color:var(--muted); font-size:.7rem; font-weight:700; }
.legende span { display:inline-flex; align-items:center; gap:6px; }
.puce { display:inline-block; width:12px; height:12px; border-radius:3px; background:var(--c-sophie); }
.puce-autre { background:var(--c-autre); }.puce-erreur { background:var(--c-erreur); }.puce-avant { opacity:.42; }.puce-juste { background:var(--c-sophie); }
.puce-reste,.seg-reste { background:repeating-linear-gradient(135deg,rgba(120,109,93,.55) 0 2px,transparent 2px 5px); box-shadow:inset 0 0 0 1px rgba(120,109,93,.45); }
.graph-duo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.graph-duo .chart-axis,.graph-duo .compact .chart-axis { margin-left:0; }
.graph-duo .bar-row { grid-template-columns:1fr; gap:6px; margin:12px 0; }
.graph-quatre { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.graph-quatre figcaption:empty { display:none; }
.courbe .bar-chart { padding:16px 14px 8px; }
.g-svg { display:block; width:100%; height:auto; overflow:visible; }
.g-grille { stroke:var(--line); stroke-width:1; }
.g-tic { stroke:var(--muted); stroke-width:1; }
.g-axe { fill:var(--muted); font:500 10px 'DM Mono',monospace; }
.g-ligne { fill:none; stroke:var(--c-sophie); stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; }
.g-point { fill:var(--c-sophie); stroke:var(--white); stroke-width:2; }
.g-valeur { fill:var(--ink); font:800 13px Manrope,sans-serif; }
.pile-chart { padding:22px 22px 18px; }
.pile-row { display:grid; grid-template-columns:165px minmax(0,1fr); align-items:center; gap:15px; margin:14px 0; }
.pile-row b { color:var(--ink); font-size:.73rem; }
.pile-track { display:flex; gap:2px; height:28px; }
.seg { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; overflow:hidden; font-style:normal; }
.seg:first-child { border-radius:6px 0 0 6px; }.seg:last-child { border-radius:0 6px 6px 0; }.seg:only-child { border-radius:6px; }
.seg-juste { background:var(--c-sophie); }.seg-erreur { background:var(--c-erreur); }
.seg em { padding:0 6px; font:800 .68rem/1 Manrope,sans-serif; font-style:normal; white-space:nowrap; }
.seg-juste em { color:var(--c-sur-sophie); }.seg-erreur em { color:var(--c-sur-erreur); }.seg-reste em { color:var(--ink); }
.pile-axis { margin-left:180px; }

/* blocs de contenu des pages par sujet */
.chiffres { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.chiffres>div { display:grid; align-content:start; gap:6px; padding:24px 22px; border:1px solid var(--carte-bord); border-radius:18px; background:var(--carte); }
.chiffres strong { color:#9b7418; font:400 clamp(1.9rem,3.4vw,2.7rem)/1 Georgia,serif; }
.chiffres span { color:var(--ink); font-size:.84rem; font-weight:800; line-height:1.4; }
.chiffres small { color:var(--muted); font-size:.72rem; line-height:1.5; }
.encadre { display:grid; gap:6px; margin-top:22px; padding:20px 22px; border-left:3px solid var(--c-sophie); border-radius:0 14px 14px 0; background:var(--carte); }
.encadre strong { color:var(--ink); font-size:1rem; }
.encadre span { color:var(--muted); font-size:.85rem; line-height:1.7; }
.lien-texte { color:#8d651d; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.process-col { grid-template-columns:1fr; }
.sujets-cartes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:34px; }
.sujet-carte { display:grid; align-content:start; gap:8px; padding:24px; border:1px solid var(--carte-bord); border-radius:18px; background:var(--carte); transition:transform .2s ease,box-shadow .2s ease; }
.sujet-carte:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(91,62,26,.12); }
.sujet-carte strong { color:var(--ink); font:400 2.1rem/1.05 Georgia,serif; }
.sujet-carte>span:not(.card-index) { color:var(--muted); font-size:.82rem; line-height:1.6; }
.sujet-carte i { margin-top:6px; color:#8d651d; font-style:normal; font-size:.78rem; font-weight:800; }
.section-sujets { padding-top:40px; padding-bottom:110px; }
.sujets-liens { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.sujet-lien { position:relative; display:grid; gap:3px; padding:16px 40px 16px 18px; border:1px solid var(--carte-bord); border-radius:14px; background:var(--carte); }
.sujet-lien b { color:var(--ink); font-size:.92rem; }
.sujet-lien span { color:var(--muted); font-size:.76rem; }
.sujet-lien i { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:#8d651d; font-style:normal; font-weight:800; }
.sujet-lien:hover { border-color:#c9a227; }
.chemin { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.chemin article { padding:24px; border-top:2px solid #c9a227; background:var(--carte); border-radius:0 0 16px 16px; }
.chemin strong { color:#9b7418; font:400 1.8rem/1 Georgia,serif; }
.chemin h3 { margin:14px 0 8px; color:var(--ink); font-size:1.08rem; }
.chemin p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.7; }
.regles .regle-cas { min-height:auto; }
.regle-cas ul { margin:16px 0; padding:0; list-style:none; }
.regle-cas li { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); font-size:.82rem; }
.regle-cas li span { color:var(--muted); }
.regle-cas li b { color:var(--ink); }
.regle-refu .card-index { color:var(--c-erreur); }
.regles-ia { max-width:820px; margin:0 0 10px; padding-left:22px; }
.regles-ia li { margin:10px 0; color:var(--muted); font-size:.95rem; line-height:1.7; }
.regles-ia strong { color:var(--ink); }
.avertissement { max-width:860px; margin-top:34px; padding:26px 28px; border-left:4px solid var(--c-erreur); border-radius:0 16px 16px 0; background:var(--carte); }
.avertissement-sobre { border-left-color:#c9a227; }
.avertissement .kicker { margin-bottom:12px; }
.avertissement blockquote { margin:0; color:var(--ink); font-size:1rem; line-height:1.85; }
.avertissement-sobre blockquote { color:var(--muted); font-size:.92rem; }
.progres-table td strong { color:#8d651d; }
.data-table small { color:var(--muted); font-size:.7rem; }

@media (max-width:1000px) { .chiffres,.graph-quatre { grid-template-columns:repeat(2,minmax(0,1fr)); } .sujets-cartes,.sujets-liens,.chemin { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:850px) { .graph-duo { grid-template-columns:1fr; } }
@media (max-width:600px) {
  .chiffres,.sujets-cartes,.sujets-liens,.chemin { grid-template-columns:1fr; }
  .graph-quatre { grid-template-columns:1fr 1fr; gap:10px; }
  .chart-axis,.compact .chart-axis,.pile-axis { margin-left:0; }
  .pile-row { grid-template-columns:1fr; gap:6px; }
  .pile-chart { padding:18px 14px 14px; }
  .avertissement { padding:20px 18px; }
  .compte-main:has(> .compte-boite) { width:calc(100% - 32px); }
  .nav-cta { max-width:150px; }
}
@media (prefers-color-scheme:dark) {
  .subject-card,.nav-sous,.nav-mobile-panneau { background:#2c2115; border-color:#5d4a30; }
  .nav-sous a:hover,.nav-sous a:focus-visible,.nav-mobile-panneau a[aria-current="page"] { background:rgba(93,74,48,.45); }
  .nav-links a[aria-current="true"],.nav-links a[aria-current="page"],.nav-sous a[aria-current="page"] b,.chiffres strong,.chemin strong,.sujet-carte i,.sujet-lien i,.lien-texte,.progres-table td strong { color:#e7c574; }
  .puce-reste,.seg-reste { background:repeating-linear-gradient(135deg,rgba(196,181,157,.5) 0 2px,transparent 2px 5px); box-shadow:inset 0 0 0 1px rgba(196,181,157,.4); }
  .bar-row b span,.chart-axis { color:#e7c574; }
}

.page-hero + .editorial-section:has(> .chiffres) { padding-top:0; padding-bottom:80px; }
.seg-reste em { padding:2px 5px; border-radius:4px; background:var(--white); }
@media (max-width:600px) { .chiffres { grid-template-columns:1fr 1fr; gap:10px; } .chiffres>div { padding:18px 14px; } .chiffres strong { font-size:1.7rem; } }
.courbe { max-width:640px; }
.graph-quatre .courbe { max-width:none; }
@media (min-width:851px) { .footer-inner > p:not(.footer-contact) { flex:0 1 230px; } .footer-contact { flex:1 1 300px; } }
@media (max-width:400px) { .page-hero h1 { font-size:2.7rem; } }
.page-hero h1 { overflow-wrap:break-word; hyphens:auto; }
@media (max-width:850px) { .nav { position:relative; } .nav-mobile { position:static; } .nav-mobile-panneau { top:calc(100% - 6px); right:0; } }
a[href^="mailto:"] { white-space:nowrap; }
@media (min-width:851px) { .footer-contact { min-width:330px; } }
@media (min-width:851px) { .footer-inner > p:not(.footer-contact) { flex:0 0 210px; } .footer-links { flex:1 1 360px; } }
