/* Ashcombe Lorant — « Édition de nuit »
   Le cabinet imprimé comme la dernière édition du quotidien des affaires.
   Papier saumon, encre noire, bandeau d'édition bleu nuit, un seul rouge pour la dépêche active.
   Les filets sont le seul ornement : ni ombre, ni dégradé, ni arrondi.
   Spectral (texte et titres de presse) + Libre Franklin (données, légendes, rubriques). */

:root{
  --papier:#f3dccb;
  --papier-2:#ecd0bc;       /* encarts, un ton plus soutenu */
  --encre:#1b1714;          /* 14,6:1 sur le papier */
  --encre-2:#54463c;        /* texte secondaire, 6,6:1 */
  --nuit:#0f1b2d;
  --nuit-txt:#e9d6c7;       /* 12,9:1 sur la nuit */
  --nuit-2:#aab4c3;         /* 7,6:1 sur la nuit */
  --sang:#8e2a2a;           /* dépêche active, 6,8:1 sur le papier */
  --filet:#1b1714;
  --filet-fin:rgba(27,23,20,.28);
  --serif:"Spectral",Georgia,serif;
  --sans:"Libre Franklin",Helvetica,Arial,sans-serif;
  --pad:clamp(16px,4vw,56px);
  --ns-progress-color:var(--sang);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scrollbar-color:var(--encre-2) var(--papier-2)}
body{background:var(--papier);color:var(--encre);font:400 17px/1.55 var(--serif);-webkit-font-smoothing:antialiased;font-variant-numeric:oldstyle-nums}
::selection{background:var(--encre);color:var(--papier)}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sang);outline-offset:3px}

/* ---------- BANDEAU D'ÉDITION (la nuit) ---------- */
.flag{background:var(--nuit);color:var(--nuit-txt);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 40px;padding:16px var(--pad) 14px;font:500 13px/1.3 var(--sans);border-bottom:3px double var(--nuit-2)}
.edition{display:flex;flex-direction:column;gap:3px}
.edition b{font:800 italic 24px/1 var(--serif);letter-spacing:-.01em}
.edition span{color:var(--nuit-2)}
.clocks{list-style:none;display:flex;justify-content:center;gap:4px 36px}
.clocks li{display:flex;flex-direction:column;align-items:center;gap:2px}
.clocks span{color:var(--nuit-2);font-size:12px}
.c-short{display:none}
.clocks time{font:700 30px/1 var(--serif);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.01em}
.flag-tel{text-decoration:none;color:var(--nuit-2);text-align:right}
.flag-tel b{display:block;color:var(--nuit-txt);font-weight:600;font-size:15px;font-variant-numeric:lining-nums;margin-top:2px}
.flag-tel:hover b{text-decoration:underline;text-underline-offset:3px}

/* ---------- MANCHETTE ---------- */
.mast{padding:22px var(--pad) 0;max-width:1320px;margin:auto}
.ears{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-bottom:1px solid var(--filet);padding-bottom:14px}
.ear{font:400 13px/1.35 var(--sans);color:var(--encre-2);border:1px solid var(--filet);padding:8px 12px;justify-self:start;min-width:150px;max-width:200px}
.ear b{color:var(--encre);font-weight:700}
.ear-r{justify-self:end;text-align:right}
.title{font:800 clamp(40px,7.2vw,112px)/.92 var(--serif);letter-spacing:-.025em;text-align:center;white-space:nowrap}
.title a{text-decoration:none}
.dateline{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;border-bottom:4px double var(--filet);padding:8px 0;font:400 13px/1.3 var(--sans);color:var(--encre-2)}
.dateline sup{font-size:.7em}
.sections{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 28px;padding:10px 0;border-bottom:1px solid var(--filet);font:600 14px/1.3 var(--sans)}
.sections a{white-space:nowrap;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.sections a:hover{border-color:var(--encre)}
.sections .to-coupon{color:var(--sang)}
.sections .to-coupon:hover{border-color:var(--sang)}

main{max-width:1320px;margin:auto;padding:0 var(--pad)}

/* ---------- LA UNE ---------- */
.une{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,1fr);border-bottom:1px solid var(--filet)}
.lead{padding:28px 32px 36px 0;border-right:1px solid var(--filet)}
.headline{font:700 clamp(32px,4vw,58px)/1.03 var(--serif);letter-spacing:-.02em;text-wrap:balance;max-width:21ch}
.lead .lead-cta{display:none;margin-top:18px}
.deck{font:400 italic clamp(18px,1.6vw,22px)/1.4 var(--serif);color:var(--encre-2);margin-top:16px;max-width:52ch}
.byline{font:400 13px/1.3 var(--sans);color:var(--encre-2);margin-top:14px;padding-top:10px;border-top:1px solid var(--filet-fin);max-width:52ch}
.byline b{color:var(--encre);font-weight:600}

.map{margin:26px 0 22px;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);padding:10px 0 8px}
#map{display:block;width:100%;aspect-ratio:2.65/1}
.map figcaption{font:400 12.5px/1.4 var(--sans);color:var(--encre-2);margin-top:6px}
#map-now{font-weight:700;color:var(--sang);margin-right:8px;font-variant-numeric:lining-nums}

.cols{column-count:2;column-gap:28px;column-rule:1px solid var(--filet-fin)}
.cols p{margin-bottom:.8em;hyphens:auto;-webkit-hyphens:auto;text-align:justify}
.place{font-variant:small-caps;font-weight:700;letter-spacing:.02em}

/* ---------- DÉPÊCHES ---------- */
.wire{padding:28px 0 36px 28px;display:flex;flex-direction:column}
.rub{font:800 14px/1 var(--sans);letter-spacing:.02em;border-top:4px solid var(--filet);padding-top:8px;margin-bottom:6px}
.wire-list{list-style:none}
.wire-list li{border-bottom:1px solid var(--filet-fin)}
.dep{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:none;border:0;padding:14px 0 14px 12px;cursor:pointer;position:relative}
.dep::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:transparent;transition:background .2s}
.dep-place{font:700 13px/1.2 var(--sans);display:flex;justify-content:space-between;gap:8px}
.dep-place time{font-weight:400;color:var(--encre-2);font-variant-numeric:tabular-nums lining-nums}
.dep-t{font:500 17px/1.3 var(--serif)}
.dep-src{font:400 12.5px/1.3 var(--sans);color:var(--encre-2)}
.dep:hover .dep-t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.dep.on::before{background:var(--sang)}
.dep.on .dep-place{color:var(--sang)}

.box{margin-top:26px;border:1px solid var(--filet);padding:18px;background:var(--papier-2)}
.box-t{font:700 21px/1.2 var(--serif);margin-bottom:8px}
.box p:not(.box-t){font-size:16px;color:var(--encre-2);margin-bottom:16px}
.btn{display:inline-block;background:var(--encre);color:var(--papier);font:600 15px/1 var(--sans);text-decoration:none;padding:15px 20px;border:1px solid var(--encre);cursor:pointer;transition:background .2s,border-color .2s}
.btn:hover{background:var(--sang);border-color:var(--sang)}
.box-tel{display:block;margin-top:12px;font:400 13px/1.3 var(--sans);color:var(--encre-2);font-variant-numeric:lining-nums}

/* ---------- EN-TÊTES DE SECTION ---------- */
section:not(.une){padding:44px 0 52px;border-bottom:1px solid var(--filet)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,2fr);gap:12px 32px;align-items:end;margin-bottom:28px}
.sec-head .rub{font-size:clamp(26px,3vw,38px);font-family:var(--serif);font-weight:800;letter-spacing:-.01em;margin:0}
.sec-head p{color:var(--encre-2);max-width:56ch;font-style:italic}

/* ---------- TOMBSTONES ---------- */
.tombs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tomb{border:1px solid var(--filet);outline:1px solid var(--filet);outline-offset:-6px;padding:30px 22px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .25s}
.tomb:hover{background:var(--papier-2)}
.tomb-a{font:700 19px/1.2 var(--serif)}
.tomb-v{font:400 italic 15px/1.3 var(--serif);color:var(--encre-2)}
.tomb-n{font:800 26px/1.1 var(--serif);font-variant-numeric:lining-nums;margin:10px 0 6px;padding:10px 0;border-block:1px solid var(--filet-fin);width:100%}
.tomb-r{font:400 13px/1.3 var(--sans);color:var(--encre-2)}
.tomb-f{font:700 16px/1.2 var(--sans);letter-spacing:.01em}
.tomb-d{font:400 13px/1.3 var(--sans);color:var(--encre-2);margin-top:4px}
.notice{margin-top:18px;font:400 12.5px/1.4 var(--sans);color:var(--encre-2)}

/* ---------- ASSOCIÉS ---------- */
.ppl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.pp img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.06)}
.pp figcaption{border-top:4px solid var(--filet);margin-top:10px;padding-top:8px}
.pp b{display:block;font:700 21px/1.2 var(--serif)}
.pp figcaption>span{display:block;font:500 13px/1.35 var(--sans);color:var(--encre-2);margin-top:2px}
.pp dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin-top:10px;padding-top:8px;border-top:1px solid var(--filet-fin);font:400 12.5px/1.35 var(--sans)}
.pp dt{color:var(--encre-2)}
.pp dd{font-variant-numeric:lining-nums}

.tribune{margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px 32px;border-top:1px solid var(--filet);padding-top:22px}
.tribune h3{font:700 italic clamp(26px,2.8vw,36px)/1.1 var(--serif)}
.tribune-by{font:400 13px/1.3 var(--sans);color:var(--encre-2);grid-column:1}
.tribune .cols{grid-column:2;grid-row:1/span 2}
.drop{float:left;font:800 64px/.8 var(--serif);margin:6px 8px 0 0}

/* ---------- DOMAINES ---------- */
.fld{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--filet)}
.fld>div{padding:18px 24px 22px 0;border-bottom:1px solid var(--filet-fin)}
.fld>div:not(:nth-child(3n+1)){padding-left:24px;border-left:1px solid var(--filet-fin)}
.fld dt{font:700 20px/1.25 var(--serif);margin-bottom:6px}
.fld dd{color:var(--encre-2);font-size:16px}

/* ---------- COUPON ---------- */
.reply{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:40px;align-items:start}
.coupon{position:relative;border:2px dashed var(--encre);padding:32px clamp(18px,3vw,36px) 28px}
.scissors{position:absolute;top:-13px;left:28px;width:28px;height:24px;background:var(--papier);padding:0 2px;fill:none;stroke:var(--encre);stroke-width:1.6;stroke-linecap:round}
.coupon h2{font:800 clamp(28px,3vw,40px)/1 var(--serif)}
.cp-lead{color:var(--encre-2);margin:10px 0 24px;max-width:60ch}
.cp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}
.cp-grid>label,.coupon legend{display:flex;flex-direction:column;gap:4px;font:600 13px/1.3 var(--sans)}
.full{grid-column:1/-1}
.coupon input:not([type=radio]),.coupon textarea{background:transparent;border:0;border-bottom:1px solid var(--encre);padding:8px 0;font:400 18px/1.4 var(--serif);border-radius:0}
.coupon textarea{resize:vertical;line-height:1.6}
.coupon input:focus,.coupon textarea:focus{outline:none;border-bottom:2px solid var(--sang)}
.coupon ::placeholder{color:#6f5d50}
fieldset{border:0;display:flex;flex-wrap:wrap;gap:8px 20px}
legend{margin-bottom:8px;width:100%}
.chk{display:flex;align-items:center;gap:8px;font:400 15px/1.3 var(--sans);cursor:pointer}
.chk input{appearance:none;width:17px;height:17px;border:1px solid var(--encre);border-radius:50%;margin:0;display:grid;place-items:center;cursor:pointer}
.chk input::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--encre);transform:scale(0);transition:transform .15s}
.chk input:checked::after{transform:scale(1)}
.cp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:26px}
#form-note{font:400 13px/1.35 var(--sans);color:var(--encre-2)}
#form-note.err{color:var(--sang);font-weight:600}

.office h3{font:800 14px/1 var(--sans);border-top:4px solid var(--filet);padding-top:8px;margin-bottom:12px}
.office dl{display:grid;gap:2px}
.office dt{font:600 13px/1.3 var(--sans);color:var(--encre-2);margin-top:12px}
.office dd{font-size:17px;font-variant-numeric:lining-nums}
.office a{text-underline-offset:3px}

/* ---------- L'OURS ---------- */
.ours{background:var(--nuit);color:var(--nuit-2);padding:32px var(--pad) 40px;font:400 13px/1.55 var(--sans);display:grid;gap:6px;justify-items:center;text-align:center}
.ours-t{font:800 28px/1 var(--serif);color:var(--nuit-txt);margin-bottom:8px}
.ours a{color:var(--nuit-txt);text-underline-offset:3px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .tombs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ppl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .flag{grid-template-columns:1fr auto}
  .clocks{grid-column:1/-1;grid-row:2;justify-content:flex-start}
  .ears{grid-template-columns:1fr}
  .ear{display:none}
  .une,.reply,.sec-head,.tribune{grid-template-columns:1fr}
  .lead{padding-right:0;border-right:0;border-bottom:1px solid var(--filet)}
  .lead .lead-cta{display:inline-block}
  .wire{padding-left:0}
  .tribune .cols{grid-column:1;grid-row:auto}
  .fld{grid-template-columns:1fr 1fr}
  .fld>div,.fld>div:not(:nth-child(3n+1)){padding:16px 0;border-left:0}
  .fld>div:nth-child(even){padding-left:20px;border-left:1px solid var(--filet-fin)}
}
@media (max-width:560px){
  body{font-size:16px}
  .flag{grid-template-columns:1fr;gap:12px;padding-block:12px}
  .edition{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
  .edition b{font-size:20px}
  .clocks{justify-content:space-between;gap:8px}
  .c-long{display:none}
  .c-short{display:block}
  .clocks time{font-size:22px}
  .flag-tel{text-align:left}
  .flag-tel b{display:inline;margin-left:6px}
  .dateline{justify-content:center;text-align:center}
  .dateline > span:first-child,.dateline > span:last-child{display:none}
  .sections{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:22px;scrollbar-width:none}
  .cols{column-count:1}
  .ppl,.fld,.cp-grid{grid-template-columns:1fr}
  .tombs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--pad) * -1);padding:0 var(--pad) 10px;scrollbar-width:thin}
  .tomb{flex:0 0 82%;scroll-snap-align:center}
  .fld>div:nth-child(even){padding-left:0;border-left:0}
  .ppl{gap:32px}
}
