/* Valore - Registre d'information pratique */

:root{
  --vl-paper:#faf7ef;
  --vl-panel:#f2ede1;
  --vl-white:#fffdf8;
  --vl-ink:#211d17;
  --vl-ink-soft:#423c31;
  --vl-muted:#6f6757;
  --vl-rule:#ddd6c6;
  --vl-rule-soft:#e9e3d6;
  --vl-violet:#453a92;
  --vl-violet-ink:#f4f2fb;
  --vl-mono:'DM Mono','SFMono-Regular',Menlo,Consolas,monospace;
  --vl-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
}

*{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--vl-paper);
  color:var(--vl-ink);
  font-family:var(--vl-serif);
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit}
a:hover{color:var(--vl-violet)}

img{max-width:100%;height:auto}

.vl-mono{font-family:var(--vl-mono);font-feature-settings:'tnum' 1}

.vl-wrap{max-width:1200px;margin:0 auto;padding:0 48px}

/* ---------- disclosure ---------- */

.vl-disclosure{border-bottom:1px solid var(--vl-ink)}
.vl-disclosure-inner{
  max-width:1200px;margin:0 auto;padding:8px 48px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:var(--vl-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
}

/* ---------- masthead ---------- */

.vl-masthead{
  margin-top:34px;border:1px solid var(--vl-ink);
  display:grid;grid-template-columns:minmax(0,1fr) 200px 200px;
}
.vl-mh-cell{padding:22px 24px;border-right:1px solid var(--vl-ink)}
.vl-mh-cell:last-child{border-right:0}
.vl-mh-label{font-family:var(--vl-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--vl-muted)}
.vl-mh-name{font-size:44px;font-weight:600;line-height:1;margin-top:8px;letter-spacing:-.015em}
.vl-mh-name a{text-decoration:none}
.vl-mh-txt{font-family:var(--vl-mono);font-size:12.5px;line-height:1.5;margin-top:9px}

.vl-mh-compact{margin-top:26px;border:1px solid var(--vl-ink);display:grid;grid-template-columns:minmax(0,1fr) auto}
.vl-mh-compact .vl-mh-brand{
  padding:15px 22px;border-right:1px solid var(--vl-ink);
  display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;
}
.vl-mh-brand-name{font-size:28px;font-weight:600;letter-spacing:-.015em;line-height:1}
.vl-mh-brand-name a{text-decoration:none}
.vl-mh-brand-sub{font-family:var(--vl-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--vl-muted)}

/* ---------- nav ---------- */

.vl-nav{
  display:flex;flex-wrap:wrap;border:1px solid var(--vl-ink);border-top:0;
  font-family:var(--vl-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
}
.vl-nav a{padding:11px 22px;border-right:1px solid var(--vl-ink);text-decoration:none}
.vl-nav a:last-child{border-right:0}
.vl-nav a.active{background:var(--vl-violet);color:var(--vl-violet-ink)}
.vl-nav a.active:hover{color:var(--vl-violet-ink)}

.vl-mh-compact .vl-nav{border:0;border-left:0}
.vl-mh-compact .vl-nav a{padding:15px 20px;border-right:1px solid var(--vl-ink)}
.vl-mh-compact .vl-nav a:last-child{border-right:0}

/* ---------- duotone images ---------- */

.vl-duo{background:var(--vl-violet);overflow:hidden;display:block;line-height:0}
.vl-duo img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.06);mix-blend-mode:screen;opacity:.88}
@supports not (mix-blend-mode:screen){
  .vl-duo{background:none}
  .vl-duo img{filter:grayscale(1) contrast(1.06);opacity:1}
}
.vl-caption{
  border:1px solid var(--vl-ink);border-top:0;padding:7px 16px;
  font-family:var(--vl-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vl-muted);
}

/* ---------- featured entry ---------- */

.vl-featured{margin-top:26px;border:1px solid var(--vl-ink);display:grid;grid-template-columns:420px minmax(0,1fr)}
.vl-featured-img{border-right:1px solid var(--vl-ink)}
.vl-featured-body{padding:26px 28px}
.vl-featured-meta{
  display:flex;gap:16px;flex-wrap:wrap;
  font-family:var(--vl-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--vl-muted);
}
.vl-featured-meta .vl-entry{color:var(--vl-violet);font-weight:500}
.vl-featured h2,.vl-featured h1{font-size:36px;font-weight:600;line-height:1.12;letter-spacing:-.014em;margin:14px 0 0}
.vl-featured h2 a,.vl-featured h1 a{text-decoration:none}
.vl-featured p{font-size:16.5px;line-height:1.62;color:var(--vl-ink-soft);margin:14px 0 0}
.vl-figstrip{
  display:flex;gap:24px;flex-wrap:wrap;margin-top:20px;padding-top:14px;border-top:1px solid var(--vl-rule);
  font-family:var(--vl-mono);font-size:11px;letter-spacing:.06em;
}
.vl-figstrip b{color:var(--vl-violet)}

/* ---------- registre table ---------- */

.vl-registre{width:100%;border-collapse:collapse;border:1px solid var(--vl-ink);margin-top:26px}
.vl-registre thead tr{
  background:var(--vl-ink);color:#f5f1e7;
  font-family:var(--vl-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
}
.vl-registre th{text-align:left;padding:9px 14px;font-weight:400}
.vl-registre th.vl-c-num{width:66px}
.vl-registre th.vl-c-rub{width:108px}
.vl-registre th.vl-c-date{width:108px;text-align:right}
.vl-registre td{border-bottom:1px solid var(--vl-rule);padding:13px 14px;vertical-align:top}
.vl-registre tr:last-child td{border-bottom:0}
.vl-registre .vl-td-num{font-family:var(--vl-mono);font-size:12px;color:var(--vl-violet);padding-top:15px}
.vl-registre .vl-td-rub{font-family:var(--vl-mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--vl-muted);padding-top:15px}
.vl-registre .vl-td-date{font-family:var(--vl-mono);font-size:11px;text-align:right;color:var(--vl-muted);padding-top:15px}
.vl-registre .vl-td-obj a{font-size:19px;font-weight:600;line-height:1.3;display:block;text-decoration:none}
.vl-registre .vl-td-obj p{font-size:14.5px;line-height:1.55;color:var(--vl-ink-soft);margin:5px 0 0}

/* ---------- article ---------- */

.vl-fiche{
  margin-top:26px;border:1px solid var(--vl-ink);border-bottom:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  font-family:var(--vl-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
}
.vl-fiche div{padding:9px 16px;border-right:1px solid var(--vl-ink);color:var(--vl-muted)}
.vl-fiche div:last-child{border-right:0}
.vl-fiche b{color:var(--vl-ink);font-weight:400}

.vl-titlebox{border:1px solid var(--vl-ink);padding:30px 32px 32px}
.vl-titlebox h1{font-size:46px;font-weight:600;line-height:1.1;letter-spacing:-.018em;margin:0;max-width:20ch}
.vl-stand{font-size:18px;line-height:1.62;color:var(--vl-ink-soft);margin:18px 0 0;max-width:74ch}

.vl-hero{border:1px solid var(--vl-ink);border-top:0}

.vl-cols{display:grid;grid-template-columns:130px minmax(0,1fr) 200px;gap:27px;margin-top:34px}
.vl-margin{
  text-align:right;font-family:var(--vl-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--vl-violet);line-height:1.7;
}
.vl-margin span{color:var(--vl-muted)}

.vl-body p{font-size:18px;line-height:1.75;color:var(--vl-ink-soft);margin:0 0 20px}
.vl-body h2{font-size:24px;font-weight:600;line-height:1.25;margin:0 0 16px;letter-spacing:-.01em;color:var(--vl-ink)}
.vl-body h2+p{margin-top:0}
.vl-body ul,.vl-body ol{margin:0 0 22px;padding-left:22px}
.vl-body li{font-size:17px;line-height:1.65;color:var(--vl-ink-soft);margin-bottom:9px}
.vl-body a{color:var(--vl-violet)}

.vl-pull{
  border-top:1px solid var(--vl-ink);border-bottom:1px solid var(--vl-ink);
  padding:18px 0;margin:26px 0;font-size:23px;font-weight:600;line-height:1.35;color:var(--vl-ink);
}

.vl-data{width:100%;border-collapse:collapse;border:1px solid var(--vl-ink);margin:4px 0 24px}
.vl-data thead tr{background:var(--vl-ink);color:#f5f1e7;font-family:var(--vl-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.vl-data th{text-align:left;padding:8px 14px;font-weight:400}
.vl-data td{border-bottom:1px solid var(--vl-rule);padding:11px 14px;font-size:15px;line-height:1.5}
.vl-data tr:last-child td{border-bottom:0}
.vl-data td:last-child{color:var(--vl-ink-soft)}
.vl-data .vl-num{font-family:var(--vl-mono);font-size:14px}

.vl-releve{border:1px solid var(--vl-ink);padding:15px 16px}
.vl-releve-h{font-family:var(--vl-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--vl-violet)}
.vl-releve-row{
  display:flex;justify-content:space-between;gap:10px;padding:7px 0;
  border-bottom:1px dotted var(--vl-rule);font-family:var(--vl-mono);font-size:10.5px;
}
.vl-releve-row:last-child{border-bottom:0}
.vl-releve-row span{color:var(--vl-muted)}
.vl-releve-row b{font-weight:400}
.vl-releve-row b.vl-hl{color:var(--vl-violet)}
.vl-note{border:1px solid var(--vl-ink);padding:15px 16px;margin-top:18px}
.vl-note-h{font-family:var(--vl-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--vl-violet)}
.vl-note p{font-size:14px;line-height:1.55;color:var(--vl-ink-soft);margin:9px 0 0}
.vl-note a{display:block;font-size:14.5px;line-height:1.4;margin-top:9px;text-decoration:none}

.vl-sources{border:1px solid var(--vl-ink);margin-top:30px}
.vl-sources-h{
  border-bottom:1px solid var(--vl-ink);padding:8px 16px;background:var(--vl-panel);
  font-family:var(--vl-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
}
.vl-sources-list{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.vl-sources-list a{font-size:13.5px;line-height:1.5;color:var(--vl-ink-soft)}

.vl-disclaimer{font-family:var(--vl-mono);font-size:10.5px;line-height:1.65;color:var(--vl-muted);margin-top:18px}

/* ---------- category / page ---------- */

.vl-crumb{font-family:var(--vl-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--vl-muted);margin-top:22px}
.vl-crumb a{text-decoration:none}

.vl-pagehead{border:1px solid var(--vl-ink);padding:28px 30px;margin-top:20px}
.vl-pagehead h1{font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-.016em;margin:0}
.vl-pagehead p{font-size:17px;line-height:1.62;color:var(--vl-ink-soft);margin:14px 0 0;max-width:78ch}

.vl-prose{border:1px solid var(--vl-ink);padding:30px 34px;margin-top:26px;max-width:none}
.vl-prose h1{font-size:38px;font-weight:600;line-height:1.12;letter-spacing:-.016em;margin:0 0 22px}
.vl-prose h2{font-size:19px;font-weight:600;line-height:1.35;margin:30px 0 10px}
.vl-prose p{font-size:16.5px;line-height:1.72;color:var(--vl-ink-soft);margin:0 0 16px;max-width:80ch}
.vl-prose ul{margin:0 0 16px;padding-left:22px}
.vl-prose li{font-size:16.5px;line-height:1.7;color:var(--vl-ink-soft);margin-bottom:7px}
.vl-prose a{color:var(--vl-violet)}
.vl-prose .vl-kv{font-family:var(--vl-mono);font-size:13.5px;line-height:1.9;color:var(--vl-ink)}

/* ---------- newsletter ---------- */

.vl-nl{margin-top:26px;border:1px solid var(--vl-ink);display:grid;grid-template-columns:minmax(0,1fr) 400px}
.vl-nl-txt{padding:26px 28px;border-right:1px solid var(--vl-ink)}
.vl-nl-label{font-family:var(--vl-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--vl-violet)}
.vl-nl-head{font-size:25px;font-weight:600;line-height:1.25;margin-top:10px}
.vl-nl-sub{font-size:14.5px;line-height:1.55;color:var(--vl-ink-soft);margin-top:7px}
.vl-nl-form{padding:26px 28px;display:flex;flex-direction:column;gap:10px}
.vl-nl-form input[type=email]{
  border:1px solid var(--vl-ink);background:var(--vl-white);padding:12px 13px;
  font-family:var(--vl-mono);font-size:13px;color:var(--vl-ink);width:100%;
}
.vl-nl-consent{display:flex;gap:9px;align-items:flex-start;font-family:var(--vl-mono);font-size:10.5px;line-height:1.55;color:var(--vl-ink-soft)}
.vl-nl-consent input{margin-top:2px;flex-shrink:0}
.vl-nl-form button{
  background:var(--vl-violet);color:var(--vl-violet-ink);border:0;padding:13px;
  font-family:var(--vl-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
}
.vl-nl-form button:hover{background:#382e78}
.vl-nl-msg{font-family:var(--vl-mono);font-size:10.5px;line-height:1.5;min-height:14px}
.vl-nl-msg.err{color:#9a2f2f}

/* ---------- footer ---------- */

.vl-footer{
  margin-top:26px;padding:14px 0 34px;border-top:1px solid var(--vl-ink);
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  font-family:var(--vl-mono);font-size:10.5px;letter-spacing:.05em;color:var(--vl-muted);
}
.vl-footer a{text-decoration:none;margin-left:20px}
.vl-footer-links{display:flex;flex-wrap:wrap}
.vl-footer-links a:first-child{margin-left:0}

/* ---------- cookie ---------- */

.vl-cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  background:var(--vl-ink);color:#f5f1e7;border-top:1px solid var(--vl-ink);
}
.vl-cookie.show{display:block}
.vl-cookie-inner{
  max-width:1200px;margin:0 auto;padding:16px 48px;
  display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.vl-cookie-text{font-family:var(--vl-mono);font-size:11px;line-height:1.6;max-width:70ch}
.vl-cookie-text a{color:#cfc7f2}
.vl-cookie-btns{display:flex;gap:10px;flex-shrink:0}
.vl-cookie button{
  border:1px solid #6b6455;background:transparent;color:#f5f1e7;padding:10px 16px;
  font-family:var(--vl-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;
}
.vl-cookie button.primary{background:var(--vl-violet);border-color:var(--vl-violet);color:var(--vl-violet-ink)}

/* ---------- responsive ---------- */

@media (max-width:1040px){
  .vl-cols{grid-template-columns:96px minmax(0,1fr);gap:22px}
  .vl-cols .vl-rail{grid-column:1 / -1}
  .vl-featured{grid-template-columns:320px minmax(0,1fr)}
}

@media (max-width:860px){
  body{font-size:17px}
  .vl-wrap,.vl-disclosure-inner,.vl-cookie-inner{padding-left:22px;padding-right:22px}
  .vl-disclosure-inner{font-size:9.5px;flex-direction:column;align-items:flex-start;gap:3px}
  .vl-masthead{grid-template-columns:1fr}
  .vl-mh-cell{border-right:0;border-bottom:1px solid var(--vl-ink)}
  .vl-mh-cell:last-child{border-bottom:0}
  .vl-mh-name{font-size:38px}
  .vl-mh-compact{grid-template-columns:1fr}
  .vl-mh-compact .vl-mh-brand{border-right:0;border-bottom:1px solid var(--vl-ink)}
  .vl-nav a{padding:10px 15px;font-size:10px}
  .vl-mh-compact .vl-nav a{padding:11px 15px}
  .vl-featured{grid-template-columns:1fr}
  .vl-featured-img{border-right:0;border-bottom:1px solid var(--vl-ink)}
  .vl-featured h2,.vl-featured h1{font-size:29px}
  .vl-registre thead{display:none}
  .vl-registre,.vl-registre tbody,.vl-registre tr,.vl-registre td{display:block;width:100%}
  .vl-registre tr{border-bottom:1px solid var(--vl-rule);padding:12px 0}
  .vl-registre tr:last-child{border-bottom:0}
  .vl-registre td{border-bottom:0;padding:0 14px}
  .vl-registre .vl-td-num,.vl-registre .vl-td-rub,.vl-registre .vl-td-date{display:inline-block;width:auto;padding:0 14px 0 0;text-align:left}
  .vl-registre .vl-td-num{padding-left:14px}
  .vl-registre .vl-td-obj{padding-top:6px}
  .vl-registre .vl-td-obj a{font-size:20px}
  .vl-fiche{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vl-fiche div{border-bottom:1px solid var(--vl-ink)}
  .vl-fiche div:nth-child(2n){border-right:0}
  .vl-fiche div:nth-child(3),.vl-fiche div:nth-child(4){border-bottom:0}
  .vl-titlebox{padding:24px 20px}
  .vl-titlebox h1{font-size:31px}
  .vl-stand{font-size:16.5px}
  .vl-cols{grid-template-columns:1fr;gap:0}
  .vl-margin{text-align:left;margin-bottom:12px;padding-top:22px}
  .vl-margin br{display:none}
  .vl-margin span:before{content:' / '}
  .vl-rail{margin-top:24px}
  .vl-body h2{font-size:22px}
  .vl-pull{font-size:20px}
  .vl-data td{font-size:14px;padding:10px 12px}
  .vl-nl{grid-template-columns:1fr}
  .vl-nl-txt{border-right:0;border-bottom:1px solid var(--vl-ink)}
  .vl-nl-head{font-size:22px}
  .vl-prose{padding:24px 20px}
  .vl-prose h1{font-size:30px}
  .vl-pagehead{padding:22px 20px}
  .vl-pagehead h1{font-size:31px}
  .vl-footer{flex-direction:column;align-items:flex-start;gap:12px}
  .vl-footer a{margin-left:0;margin-right:18px}
  .vl-cookie-inner{padding:14px 22px}
  .vl-cookie-btns{width:100%}
  .vl-cookie button{flex:1}
}

/* ---------- multi-section article grid ---------- */

.vl-cols-multi{row-gap:0}
.vl-cols-multi .vl-margin{padding-top:4px}

.vl-brief{border:1px solid var(--vl-ink);margin-top:8px}
.vl-brief-h{
  border-bottom:1px solid var(--vl-ink);padding:8px 16px;background:var(--vl-panel);
  font-family:var(--vl-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
}
.vl-brief ul{margin:0;padding:14px 16px 14px 34px}
.vl-brief li{font-size:15.5px;line-height:1.6;color:var(--vl-ink-soft);margin-bottom:8px}
.vl-brief li:last-child{margin-bottom:0}

@media (max-width:860px){
  .vl-cols-multi .vl-margin{padding-top:22px}
}
