:root{--dln-charbon:#090a11;--dln-teal:#565786;--dln-teal-dark:#35365a;--dln-creme:#b9c0ef;--dln-sand:#b2abe3;--dln-edge:#8c85bc;--dln-grey:#232039;--dln-plus:#454069;--dln-minus:#2b2f4a;--dln-card:#c7c8fc;--dln-ink:#151628;--dln-muted:#4b5177}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--dln-creme);color:var(--dln-charbon);font-family:'Overpass',system-ui,sans-serif;font-size:16px;line-height:1.68}
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:700;line-height:1.18}
img{max-width:100%;display:block}
a{color:var(--dln-teal-dark);text-decoration:none}
a:hover{text-decoration:underline}
.dln-wrap{max-width:1116px;margin:0 auto;padding:0 20px}

/* barre de tete collante */
.dln-bar{background:var(--dln-charbon);padding:13px 0;position:sticky;top:0;z-index:30}
.dln-bar .dln-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.dln-brand{font-family:'DM Serif Display',Georgia,serif;font-weight:700;color:#c7c8fc;font-size:1.12rem;letter-spacing:-.01em}
.dln-brand:hover{text-decoration:none}
.dln-brand-mark{color:var(--dln-teal);font-style:normal}
.dln-nav{min-width:0}
.dln-nav-link{color:#797aaf;font-size:.86rem;margin-left:20px}
.dln-nav-link:hover{color:var(--dln-teal);text-decoration:none}

/* chapeau sur fond sable */
.dln-banner{background:var(--dln-sand);padding:36px 0 34px;border-bottom:1px solid var(--dln-edge)}
.dln-trail{font-size:.78rem;color:var(--dln-muted);margin-bottom:12px}
.dln-trail a{color:var(--dln-muted)}
.dln-kicker{font-size:.75rem;color:var(--dln-muted);text-transform:uppercase;letter-spacing:.11em;font-weight:600;margin-bottom:12px}
.dln-title{font-size:clamp(1.7rem,3.5vw,2.45rem);margin-bottom:16px;max-width:26ch}
.dln-title-em{font-style:normal;color:var(--dln-teal-dark)}
.dln-lede{color:var(--dln-grey);max-width:44rem;margin-bottom:12px}
.dln-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-top:22px}
.dln-criterion{background:var(--dln-card);border:1px solid var(--dln-edge);border-radius:5px;padding:13px 15px}
.dln-criterion b{display:block;font-family:'DM Serif Display',Georgia,serif;font-size:.87rem;margin-bottom:3px}
.dln-criterion span{font-size:.8rem;color:var(--dln-grey);line-height:1.45;display:block}

/* colonne de lecture */
.dln-read{padding:30px 0 4px}
.dln-column{max-width:46rem}
.dln-column p{margin-bottom:1.25rem}
.dln-h-2{font-size:1.34rem;margin:1.9rem 0 .55rem}
.dln-h-3{font-size:1.04rem;margin:1.4rem 0 .35rem;color:var(--dln-teal-dark)}
.dln-figure{margin:0 0 24px;max-width:30rem}
.dln-figure img{border:1px solid var(--dln-edge);border-radius:5px}
.dln-figure-note{font-size:.8rem;color:var(--dln-muted);margin-top:7px}
.dln-facts{background:var(--dln-card);border:1px solid var(--dln-edge);border-radius:7px;padding:4px 18px;margin:0 0 26px;max-width:38rem}
.dln-fact{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--dln-edge);font-size:.9rem}
.dln-fact:last-child{border-bottom:0}
.dln-fact-key{color:var(--dln-muted)}
.dln-fact-value{font-weight:600;text-align:right}
.dln-ups{list-style:none;margin:0 0 1.25rem;font-size:.95rem}
.dln-ups li{padding:3px 0 3px 20px;position:relative}
.dln-up:before{content:"+";position:absolute;left:0;color:var(--dln-plus);font-weight:700}
.dln-down:before{content:"\2212";position:absolute;left:0;color:var(--dln-minus);font-weight:700}

/* rangees comparees */
.dln-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:34px 0 18px}
.dln-row-head-title{font-size:1.36rem;margin:0}
.dln-row-head-count{font-size:.84rem;color:var(--dln-muted)}
.dln-card-row{background:var(--dln-card);border:1px solid var(--dln-edge);border-radius:7px;padding:22px;margin-bottom:16px;display:flex;gap:22px;flex-wrap:wrap;transition:box-shadow .18s}
.dln-card-row:hover{box-shadow:0 8px 26px rgba(9,10,17,.09)}
.dln-shot{flex:0 0 232px;position:relative;min-width:0}
.dln-shot img{width:100%;height:auto;border:1px solid var(--dln-edge);border-radius:5px}
.dln-shot-fill{width:100%;aspect-ratio:16/10;border:1px dashed var(--dln-edge);border-radius:5px;background:var(--dln-sand);display:flex;align-items:center;justify-content:center;color:#6d74a1;font-size:.78rem;text-align:center;padding:10px}
.dln-sigil{position:absolute;top:-10px;left:-10px;width:36px;height:36px;background:var(--dln-charbon);color:#c7c8fc;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',Georgia,serif;font-weight:700;font-size:1rem;box-shadow:0 2px 6px rgba(7,7,6,.2)}
.dln-body{flex:1;min-width:240px}
.dln-name{font-family:'DM Serif Display',Georgia,serif;font-size:1.18rem;font-weight:700;margin:0 0 4px}
.dln-name a{color:var(--dln-charbon)}
.dln-name a:hover{color:var(--dln-teal-dark);text-decoration:none}
.dln-meta{font-size:.82rem;color:var(--dln-muted);margin-bottom:11px}
.dln-summary{font-size:.94rem;color:var(--dln-ink);margin-bottom:13px}
.dln-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.dln-more{display:inline-block;background:var(--dln-teal);color:#c7c8fc;font-family:'DM Serif Display',Georgia,serif;font-weight:600;font-size:.9rem;padding:10px 22px;border-radius:5px;box-shadow:0 2px 0 var(--dln-teal-dark)}
.dln-more:hover{background:var(--dln-teal-dark);color:#c7c8fc;text-decoration:none;box-shadow:0 1px 0 var(--dln-teal-dark);transform:translateY(1px)}
.dln-scan{flex:0 0 176px;min-width:0}
.dln-scan-item{margin-bottom:10px}
.dln-scan-label{font-size:.72rem;color:var(--dln-muted);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:2px}
.dln-scan-value{font-size:.86rem;color:var(--dln-ink);display:block;line-height:1.4}

/* synthese et methode */
.dln-verdict{background:var(--dln-charbon);color:#9e9fd6;border-radius:7px;padding:28px 30px;margin:32px 0}
.dln-verdict-title{color:#c7c8fc;font-size:1.3rem;margin-bottom:12px}
.dln-verdict p{margin-bottom:1rem}
.dln-verdict p:last-child{margin-bottom:0}
.dln-method{font-size:.87rem;color:var(--dln-muted);border-top:1px solid var(--dln-edge);padding-top:18px;margin:8px 0 10px}
.dln-routes{list-style:none;max-width:30rem;margin:26px 0}
.dln-routes li{padding:10px 0;border-bottom:1px solid var(--dln-edge)}
.dln-foot{background:var(--dln-charbon);color:#686194;font-size:.86rem;padding:30px 0;margin-top:40px}
.dln-foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.dln-foot-link{color:#929ac9}

@media(max-width:900px){
.dln-scan{flex:1 1 100%}
.dln-scan-item{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--dln-edge);padding-bottom:6px}
.dln-scan-value{text-align:right}
/* Sans min-width:0 et sans retour à la ligne, les libellés de navigation alignés par
   marge gauche poussent le document au-delà du viewport sur un téléphone : un élément flex
   ne se réduit pas sous la largeur de son contenu, et toute la page défile de côté. */
.dln-nav{flex:1 1 100%;min-width:0}
.dln-nav-link{margin:0 17px 0 0;display:inline-block}
}
@media(max-width:620px){
.dln-shot{flex:1 1 100%}
.dln-fact{flex-direction:column;gap:2px}
.dln-fact-value{text-align:left}
}
/* Mesuré au navigateur à 375 px : au-delà de deux lignes, un intitulé de section ne se lit
   plus d'un coup d'œil. La taille cède avant l'intitulé, qui porte du sens. */
@media(max-width:480px){
.dln-title{font-size:1.5rem}
.dln-h-2{font-size:1.14rem}
.dln-row-head-title,.dln-verdict-title{font-size:1.16rem}
}