:root{--gold:#D9A441;--gold-soft:#B07A2A;--ink:#F2EBDD;--muted:#9A8E77;--bg:#0B0A08;--card:#12100C;--line:rgba(242,235,221,.14);color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:640px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1080px;margin:0 auto;padding:0 24px}
.label{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);font-weight:400}
.label .gold{color:var(--gold)}
nav.site{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:28px 24px}
nav.site .logo{font-size:16px;letter-spacing:.45em;text-transform:uppercase;color:var(--ink);font-weight:300;text-decoration:none}
nav.site .links{display:flex;gap:26px;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
nav.site .links a{color:var(--muted);text-decoration:none;font-weight:400}
nav.site .links a.on{color:var(--ink)}
nav.site .links a:hover{color:var(--gold)}
nav.site .langsw{display:inline-flex;gap:10px;padding-left:18px;border-left:1px solid var(--line)}
nav.site .langsw a{color:var(--muted);padding:8px 5px;margin:-8px -5px}
nav.site .langsw a.on{color:var(--gold)}
@media(max-width:560px){nav.site .langsw{padding-left:12px}nav.site{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 24px}nav.site .links{gap:14px;font-size:10px;letter-spacing:.16em;flex-wrap:wrap}nav.site .logo{font-size:13px;letter-spacing:.35em}}
/* Mega-menu du bandeau (facon apple.com), construit par /assets/nav.js :
   panneau pleine largeur sous le bandeau, hauteur animee selon le contenu,
   page floutee derriere. Mobile (<=760px) : feuille plein ecran. */
nav.site{position:relative;z-index:80}
.mega{position:absolute;left:0;right:0;height:0;overflow:hidden;z-index:75;background:var(--bg);
      border-bottom:1px solid var(--line);visibility:hidden;
      transition:height .38s cubic-bezier(.4,0,.2,1),visibility 0s linear .38s}
.mega.open{visibility:visible;transition:height .38s cubic-bezier(.4,0,.2,1),visibility 0s}
.mega-in{max-width:1080px;margin:0 auto;padding:30px 24px 46px;display:grid;gap:56px;
         opacity:0;transform:translateY(-6px);transition:opacity .28s ease,transform .28s ease}
.mega-in.is-journal{grid-template-columns:210px minmax(0,1fr) 380px}
.mega-in.is-cols{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr)}
.mega.open .mega-in{opacity:1;transform:none;transition-delay:.08s}
.mega.open .mega-in.swap-out{opacity:0;transform:none;transition:opacity .12s ease;transition-delay:0s}
.mega-label{display:block;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.mega ul,.mega ol{list-style:none}
.mega-cats a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;
             font-size:17px;font-weight:300;color:var(--ink);text-decoration:none}
.mega-cats .k{font-size:10.5px;letter-spacing:.2em;color:var(--muted)}
.mega-cats li.on a,.mega-cats a:hover{color:var(--gold)}
.mega-all,.mega-more{display:inline-block;margin-top:18px;font-size:10.5px;letter-spacing:.24em;
                     text-transform:uppercase;color:var(--gold);text-decoration:none}
.mega-list li a,.mega-pop li a{display:block;padding:6px 0;font-size:13.5px;line-height:1.45;
                               color:var(--ink);text-decoration:none;opacity:.86}
.mega-list li a:hover,.mega-pop li a:hover{color:var(--gold);opacity:1}
.mega-list .soon{font-size:13.5px;color:var(--muted);padding:6px 0}
.mega-list.swap{animation:megaswap .28s ease}
@keyframes megaswap{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none}}
.mega-pop li a{display:grid;grid-template-columns:28px 1fr;padding:4px 0;font-size:13px}
.mega-pop .n{font-size:10.5px;letter-spacing:.15em;color:var(--gold);padding-top:2px}
.mega-shade{position:fixed;inset:0;z-index:70;background:rgba(11,10,8,.5);
            -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
            opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
.mega-on .mega-shade{opacity:1;visibility:visible;transition:opacity .3s,visibility 0s}
.msheet{position:fixed;inset:0;z-index:90;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;
        transform:translateY(-100%);visibility:hidden;
        transition:transform .38s cubic-bezier(.4,0,.2,1),visibility 0s linear .38s}
.msheet.open{transform:none;visibility:visible;transition:transform .38s cubic-bezier(.4,0,.2,1),visibility 0s}
.msheet-on,.msheet-on body{overflow:hidden}
.msheet-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;
            padding:18px 24px;background:var(--bg);border-bottom:1px solid var(--line)}
.msheet-brand{font-size:12px;letter-spacing:.35em;text-transform:uppercase;font-weight:300}
.msheet-x{background:none;border:0;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;padding:0 4px}
.msheet-body{padding:8px 24px 64px}
.msheet-all{display:block;padding:18px 0;font-size:11px;letter-spacing:.25em;text-transform:uppercase;
            color:var(--gold);text-decoration:none;border-bottom:1px solid var(--line)}
.msheet-label{margin:30px 0 4px}
.msheet details{border-bottom:1px solid var(--line)}
.msheet summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;
                padding:16px 0;font-size:18px;font-weight:300;cursor:pointer}
.msheet summary::-webkit-details-marker{display:none}
.msheet summary .k{font-size:11px;letter-spacing:.2em;color:var(--muted)}
.msheet details[open] summary{color:var(--gold)}
.msheet ul,.msheet ol{list-style:none;padding:0 0 14px}
.msheet li a{display:block;padding:8px 0;font-size:14.5px;line-height:1.45;color:var(--ink);text-decoration:none;opacity:.88}
.msheet li.more a{color:var(--gold);font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.msheet ol{counter-reset:p}
.msheet ol li{counter-increment:p;display:grid;grid-template-columns:30px 1fr}
.msheet ol li::before{content:counter(p,decimal-leading-zero);font-size:10.5px;color:var(--gold);padding-top:11px;letter-spacing:.12em}
/* panneaux en colonnes (L'app, Science-Based, La beta) : grands liens + liens courts */
.mega-big li{margin:0 0 16px}
.mega-big a,.mega-big .txt{display:block;text-decoration:none}
.mega-big .t{display:block;font-size:19px;font-weight:300;line-height:1.3;color:var(--ink);transition:color .2s}
.mega-big .d{display:block;margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.mega-big a:hover .t,.mega-big a.gold .t{color:var(--gold)}
.mega-small li a,.mega-small li .txt{display:block;padding:6px 0;font-size:13.5px;line-height:1.45;color:var(--ink);text-decoration:none;opacity:.86}
.mega-small li .txt{opacity:.72}
.mega-small li a:hover{color:var(--gold);opacity:1}
.mega-small li a.gold{color:var(--gold);opacity:1}
.mega-small .d{display:block;font-size:12px;color:var(--muted)}
.mega-spots{display:inline-block;margin-top:2px;padding:7px 12px;border:1px solid var(--gold);color:var(--gold);
            font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.mega-apercu{position:fixed;left:16px;bottom:16px;z-index:95;padding:8px 12px;border:1px solid var(--gold);
             background:var(--bg);color:var(--gold);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
@media(max-width:760px){.mega,.mega-shade{display:none}}
@media (prefers-reduced-motion:reduce){.mega,.mega-in,.msheet,.mega-shade{transition:none}.mega-list.swap{animation:none}}
.display{font-weight:200;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02}
.display .gold{color:var(--gold)}
.display .dim{color:var(--muted)}
.btn{display:inline-block;border:1px solid var(--line);color:var(--ink);text-decoration:none;
     padding:17px 36px;font-size:11.5px;font-weight:400;letter-spacing:.25em;text-transform:uppercase;
     transition:border-color .25s,color .25s;background:none;cursor:pointer}
.btn:hover{border-color:var(--gold);color:var(--gold)}
.btn.gold{border-color:var(--gold);color:var(--gold)}
.btn.gold:hover{background:var(--gold);color:#1C1710}
.hr{border:0;border-top:1px solid var(--line)}
/* ARTICLE */
article header{padding:64px 0 28px}
article header .label{display:block;margin-bottom:22px}
article h1{font-size:clamp(28px,5.4vw,44px);font-weight:200;text-transform:uppercase;letter-spacing:-.01em;line-height:1.08}
article .standfirst{color:var(--muted);font-size:16px;margin-top:20px;line-height:1.7}
article h2{font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--gold);margin:52px 0 16px;padding-top:26px;position:relative}
article h2::before{content:"";position:absolute;top:0;left:6%;right:6%;border-top:1px solid var(--line)}
article p{margin:0 0 18px;font-size:16.5px;color:var(--ink);line-height:1.8}
article ul{margin:0 0 18px 22px}
article li{margin-bottom:11px;font-size:16.5px;line-height:1.75}
article li::marker{color:var(--gold)}
article strong{font-weight:600}
article em{color:var(--gold);font-style:normal}
article h1 .w{display:inline-block;white-space:nowrap}
article h1 .ch{display:inline-block;opacity:0;transform:translateY(.05em);transition:opacity .5s ease-out,transform .5s ease-out}
article h1 .ch.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){article h1 .ch{opacity:1;transform:none;transition:none}}
article .hero{margin:40px 0 10px}
article .hero img{width:100%;height:auto;display:block;border:1px solid var(--line);filter:saturate(.85) brightness(.92)}
/* FAQ : questions frequentes (balisees FAQPage en JSON-LD) */
article .faq h3{font-size:16.5px;font-weight:600;color:var(--ink);margin:26px 0 8px;line-height:1.4}
article .faq p{color:var(--muted);font-size:15.5px;margin-bottom:0}
/* fin d'article : la beta comme recompense */
.reward{margin:64px 0 8px;padding:52px 0;text-align:center;position:relative}
.reward::before{content:"";position:absolute;top:0;left:6%;right:6%;border-top:1px solid var(--line)}
.reward::after{content:"";position:absolute;bottom:0;left:6%;right:6%;border-top:1px solid var(--line)}
.reward.noafter::after{content:none}
.reward .label{display:block;margin-bottom:20px}
.reward h2{font-size:clamp(20px,3.6vw,28px);font-weight:200;text-transform:uppercase;letter-spacing:0;color:var(--ink);margin:0 0 14px;line-height:1.2}
.reward p{color:var(--muted);font-size:15px;max-width:420px;margin:0 auto 28px}
.next{padding:40px 0 8px}
.next .label{display:block;margin-bottom:18px}
.next a{display:block;text-decoration:none;padding:16px 0;font-weight:300;position:relative;
        font-size:16px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.next a::after{content:"";position:absolute;bottom:0;left:6%;right:6%;border-top:1px solid var(--line)}
.next a:first-of-type::before{content:"";position:absolute;top:0;left:6%;right:6%;border-top:1px solid var(--line)}
.next a:hover{color:var(--gold)}
/* INDEX ARTICLES : liste editoriale */
.pagehead{padding:72px 0 24px}
.pagehead h1{font-size:clamp(34px,7vw,60px)}
.pagehead p{color:var(--muted);margin-top:22px;font-size:16px;max-width:480px}
.journal{margin:92px 0 0}
/* filets a 88 % de la largeur, centres (comme le cadre Derniers repas de l'app) */
.journal a.entry{display:flex;gap:32px;align-items:center;justify-content:space-between;text-decoration:none;padding:60px 0;position:relative}
.journal a.entry::before{content:"";position:absolute;top:0;left:6%;right:6%;border-top:1px solid var(--line)}
.journal a.entry:last-child::after{content:"";position:absolute;bottom:0;left:6%;right:6%;border-top:1px solid var(--line)}
.entry .etext{flex:1;min-width:0}
.entry .ethumb{flex:0 0 210px}
.entry .ethumb img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;display:block;border:1px solid var(--line);filter:saturate(.85) brightness(.9);transition:filter .25s}
.journal a.entry:hover .ethumb img{filter:saturate(1) brightness(1)}
@media(max-width:640px){.journal a.entry{flex-direction:column-reverse;align-items:stretch;gap:18px}.entry .ethumb{flex:none}}
.journal .label{display:block;margin-bottom:12px}
.journal h2{font-size:clamp(19px,3.4vw,25px);font-weight:250;text-transform:uppercase;letter-spacing:.01em;color:var(--ink);line-height:1.25;transition:color .2s}
.journal a.entry:hover h2{color:var(--gold)}
.journal p.desc{color:var(--muted);font-size:14.5px;margin-top:10px;max-width:540px}
footer.site{border-top:1px solid var(--line);margin-top:96px;padding:40px 0 64px;text-align:center}
footer.site .flinks{font-size:11px;letter-spacing:.22em;text-transform:uppercase}
footer.site a{color:var(--muted);text-decoration:none}
footer.site a:hover{color:var(--gold)}
.disclaimer{max-width:520px;margin:22px auto 0;color:var(--muted);font-size:12.5px;line-height:1.7}
/* JOURNAL : compteurs, themes, citation */
.stats{display:flex;gap:56px;margin:44px 0 10px}
.stats .n{font-size:clamp(30px,5vw,44px);font-weight:200;line-height:1}
.stats .l{display:block;margin-top:10px}
.themes{margin:40px 0 8px}
.themes .label{display:block;margin-bottom:16px}
.themescroll{max-height:264px;overflow-y:auto;overscroll-behavior:contain;
             scrollbar-width:thin;scrollbar-color:rgba(154,142,119,.4) transparent}
.themescroll::-webkit-scrollbar{width:4px}
.themescroll::-webkit-scrollbar-thumb{background:rgba(154,142,119,.4)}
.theme{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;
       background:none;border:0;border-left:2px solid rgba(154,142,119,.45);color:var(--muted);
       height:52px;padding:0 18px;font-size:11.5px;letter-spacing:.25em;text-transform:uppercase;
       cursor:pointer;transition:color .2s,border-color .2s;font-family:inherit}
.theme{position:relative}
.theme+.theme::after{content:"";position:absolute;top:0;left:6%;right:6%;border-top:1px solid var(--line)}
.theme .count{font-size:13px;letter-spacing:0;font-weight:300}
.theme:hover{color:var(--ink)}
.theme.on{color:var(--ink);border-left-color:var(--gold)}
.quote{margin:54px 0 10px;text-align:left}
.quote p{font-size:clamp(17px,2.8vw,21px);font-weight:300;font-style:italic;color:var(--ink)}
.quote .label{display:block;margin-top:14px}
.entry .meta{display:block;margin-bottom:12px}
.entry .readmore{display:inline-block;margin-top:14px;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0;text-align:center;color:var(--muted);font-size:15px}
/* METHODE (Science-Based) : pages moteurs et fiches */
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:26px;font-size:10.5px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--gold)}
.methode p a,.methode li a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(217,164,65,.55);text-underline-offset:3px}
.methode p a:hover,.methode li a:hover{color:var(--gold)}
.methode .figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:26px 22px;margin:34px 0 30px;padding:28px 0;position:relative}
.methode .figs::before,.methode .figs::after{content:"";position:absolute;left:6%;right:6%;border-top:1px solid var(--line)}
.methode .figs::before{top:0}
.methode .figs::after{bottom:0}
.methode .figs .v{display:block;font-size:clamp(34px,6vw,46px);font-weight:200;line-height:1;color:var(--gold);letter-spacing:-.02em}
.methode .figs .u{display:block;margin-top:10px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);line-height:1.5}
.methode .refs ul{list-style:none;margin:0}
.methode .refs li{font-size:14px;color:var(--muted);margin-bottom:10px;line-height:1.6}
/* Signature (auteur), liens de catégorie, pages thème, À propos et mentions légales */
article .byline{margin-top:18px;font-size:13px;color:var(--muted);line-height:1.6}
article .byline a,.prose p a,.prose li a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(217,164,65,.55);text-underline-offset:3px}
article .byline a:hover,.prose p a:hover,.prose li a:hover{color:var(--gold)}
.label a{color:inherit;text-decoration:none}
article header .label a.gold{text-decoration:underline;text-decoration-color:rgba(217,164,65,.45);text-underline-offset:4px;text-decoration-thickness:1px}
.label a:hover{color:var(--gold)}
a.theme{text-decoration:none}
.pagehead .crumbs{margin-bottom:26px}
.prose h2{margin-top:44px}
.prose .updated{margin-top:44px;font-size:13px;color:var(--muted)}
/* Sources des articles + tableaux de données */
article .refs ol{margin:0 0 0 22px}
article .refs li{font-size:14px;color:var(--muted);margin-bottom:10px;line-height:1.6}
article .refs li::marker{color:var(--muted)}
article .refs a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(217,164,65,.45);text-underline-offset:3px;word-break:break-all}
article .refs a:hover{color:var(--gold)}
.tablewrap{overflow-x:auto;margin:6px 0 24px;-webkit-overflow-scrolling:touch}
article table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
article caption{caption-side:bottom;text-align:left;font-size:12.5px;color:var(--muted);padding-top:10px}
article th{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--gold);text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);white-space:nowrap}
article td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
article td.n,article th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.compare .tablewrap th:first-child,.compare .tablewrap td:first-child{position:sticky;left:0;background:var(--bg);z-index:1;padding-left:2px}
@media(max-width:640px){article .grp{display:none}article.data th,article.data td{font-size:14px}article.data th{white-space:normal;letter-spacing:.12em}}
