/* Orient Express, laid out as a feature rather than a list of cards.
   Tokens come from oe.css: --ink, --ink-2, --ink-3, --bg, --bg-2, --line,
   --jade, --lac, --serif, --sans. Nothing here redefines them. */

.ed-mast{max-width:1180px;margin:0 auto;padding:44px 26px 0}
.ed-home{font-family:var(--sans);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);text-decoration:none}
.ed-home:hover{color:var(--jade)}
.ed-mast h1{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;
  font-size:clamp(44px,8vw,92px);line-height:.98;margin:20px 0 0;color:var(--ink)}
.ed-dateline{font-family:var(--sans);font-size:11.5px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-3);margin:16px 0 0;
  padding-top:15px;border-top:1px solid var(--line)}
.ed-dateline span{opacity:.45;padding:0 4px}
.ed-stand{font-family:var(--serif);font-size:17.5px;line-height:1.6;color:var(--ink-2);
  max-width:62ch;margin:16px 0 0}
.ed-stand em{color:var(--ink);font-style:italic}

/* ---- the lead ---- */
.ed-lead{max-width:1180px;margin:46px auto 0;padding:0 26px;display:grid;
  grid-template-columns:1.35fr 1fr;gap:34px;align-items:center}
.ed-lead-art{display:block;overflow:hidden;background:var(--bg-2);border-radius:2px}
.ed-lead-art img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  filter:saturate(.86) contrast(1.04);transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.ed-lead-art:hover img{transform:scale(1.02)}
.ed-kicker{font-family:var(--sans);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--lac);margin:0 0 10px}
.ed-lead h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,42px);
  line-height:1.08;margin:0;letter-spacing:-.01em}
.ed-lead h2 a{color:var(--ink);text-decoration:none;
  background-image:linear-gradient(var(--jade),var(--jade));
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .3s}
.ed-lead h2 a:hover{background-size:100% 1px}
.ed-when{font-family:var(--sans);font-size:11.5px;letter-spacing:.12em;
  color:var(--ink-3);margin:12px 0 0;font-variant-numeric:tabular-nums}
.ed-excerpt{font-family:var(--serif);font-size:17px;line-height:1.62;color:var(--ink-2);
  margin:14px 0 0}
.ed-more{display:inline-block;margin-top:16px;font-family:var(--sans);font-size:13px;
  color:var(--jade);text-decoration:none;border-bottom:1px solid transparent}
.ed-more:hover{border-bottom-color:var(--jade)}

/* ---- a line, pulled ---- */
.ed-pull{max-width:1000px;margin:60px auto;padding:0 26px;text-align:center}
.ed-pull p{font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(21px,2.9vw,31px);line-height:1.4;color:var(--ink);margin:0;
  text-wrap:balance}
.ed-pull cite{display:block;margin-top:16px;font-family:var(--sans);font-style:normal;
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}
.ed-pull cite a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.ed-pull cite a:hover{color:var(--jade)}
.ed-pull--in{margin:46px auto 52px}

/* ---- plates ---- */
.ed-plate{max-width:1180px;margin:0 auto;padding:14px 26px 0}
.ed-rule{display:flex;align-items:center;gap:18px;margin:34px 0 6px;
  font-family:var(--sans);font-weight:600;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-2)}
.ed-rule::after{content:"";flex:1;height:1px;background:var(--line)}
.ed-note{font-family:var(--sans);font-size:12.5px;color:var(--ink-3);margin:0 0 22px}

/* ---- the mosaic ---- */
.ed-mosaic{columns:5 168px;column-gap:8px}
.ed-mosaic a{display:block;margin:0 0 8px;break-inside:avoid;overflow:hidden;
  background:var(--bg-2);border-radius:2px;line-height:0}
.ed-mosaic img{width:100%;height:auto;display:block;
  filter:saturate(.78) contrast(1.03) brightness(.94);
  transition:filter .35s,transform .6s cubic-bezier(.2,.7,.3,1)}
.ed-mosaic a:hover img{filter:none;transform:scale(1.035)}
.ed-mosaic a:focus-visible{outline:2px solid var(--jade);outline-offset:2px}

/* ---- dispatches ---- */
.ed-month{font-family:var(--serif);font-weight:400;font-size:23px;color:var(--ink);
  margin:38px 0 4px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.ed-month i{font-style:normal;color:var(--ink-3);font-size:15px;margin-left:5px}
.ed-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
  gap:2px 26px}
.ed-row{display:grid;grid-template-columns:76px 1fr;gap:15px;align-items:start;
  padding:15px 10px 15px 0;text-decoration:none;border-bottom:1px solid var(--line);
  transition:background .18s}
.ed-row:hover{background:var(--bg-2)}
.ed-th{display:block;overflow:hidden;border-radius:2px;background:var(--bg-2);line-height:0}
.ed-th img{width:76px;height:57px;object-fit:cover;display:block;
  filter:saturate(.78) brightness(.92)}
.ed-th--none{width:76px;height:57px;
  background:repeating-linear-gradient(45deg,var(--bg-2),var(--bg-2) 5px,
    transparent 5px,transparent 10px)}
.ed-row-b{display:block;min-width:0}
.ed-row-d{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.13em;
  color:var(--ink-3);font-variant-numeric:tabular-nums}
.ed-row-t{display:block;font-family:var(--serif);font-size:17px;line-height:1.25;
  color:var(--ink);margin-top:4px}
.ed-row:hover .ed-row-t{color:var(--jade)}
.ed-row-x{display:block;font-family:var(--sans);font-size:12.5px;line-height:1.5;
  color:var(--ink-3);margin-top:5px}

@media (max-width:900px){
  .ed-lead{grid-template-columns:1fr;gap:22px}
  .ed-mosaic{columns:3 130px}
}
@media (max-width:620px){
  .ed-mast{padding-top:30px}
  .ed-mosaic{columns:2 130px;column-gap:6px}
  .ed-mosaic a{margin-bottom:6px}
  .ed-list{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .ed-mosaic img,.ed-lead-art img{transition:none}
  .ed-mosaic a:hover img,.ed-lead-art:hover img{transform:none}
}

/* ---- featured, three at a time ---- */
.ed-plate--first{padding-top:40px}
.ed-feature{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ed-feat{display:block;text-decoration:none}
.ed-feat[hidden]{display:none}
.ed-feat-art{display:block;overflow:hidden;border-radius:2px;background:var(--bg-2);line-height:0}
.ed-feat-art img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  filter:saturate(.84) contrast(1.04);transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.ed-feat:hover .ed-feat-art img{transform:scale(1.03)}
.ed-feat-d{display:block;margin-top:13px;font-family:var(--sans);font-size:10.5px;
  letter-spacing:.14em;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ed-feat-t{display:block;margin-top:5px;font-family:var(--serif);font-size:22px;
  line-height:1.18;color:var(--ink);letter-spacing:-.005em}
.ed-feat:hover .ed-feat-t{color:var(--jade)}
.ed-feat-x{display:block;margin-top:7px;font-family:var(--sans);font-size:13px;
  line-height:1.55;color:var(--ink-3)}
.ed-shuffle{margin:26px 0 0;text-align:center}
.ed-shuffle button{font-family:var(--sans);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);background:none;min-height:44px;
  padding:0 20px;border:1px solid var(--line);border-radius:999px;cursor:pointer;
  transition:color .18s,border-color .18s}
.ed-shuffle button:hover{color:var(--jade);border-color:var(--jade)}

@media (max-width:900px){ .ed-feature{grid-template-columns:1fr;gap:30px} }
@media (prefers-reduced-motion:reduce){
  .ed-feat-art img{transition:none}
  .ed-feat:hover .ed-feat-art img{transform:none}
}
